Another protip: don't name your images "banner.jpg"; "ads.js" and "analytics.js" etc are also not exactly great names. Another protip: Always make sure that critical flows in the app won't fail if analytics event fails. You probably want to wrap calls to analytics provider with your own function, and in that function check for existence of global analytics object like "window.ga" which may fail to load due to adblock…
Always make sure that critical flows in the app won't fail if analytics event fails. Monoprice's site won't allow checkout with uBlock unless you define a function they're trying to call: _satellite = { track: function(){} } With inventions like Google Tag Manager that allow marketing departments to inject JS into the production site, things like this may not even be the developers' fault.
A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
61–70 of 85 posts
Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#62This extreme vetting made me disable all of those adblocking lists. Now I manually go through web scripts and block the stuff I don't like. It turns out that majority of ads on the web are served by just a handful of advertisers. So my list of blocks include only 27 websites. And these site turn out to be the notorious displays of junk on the internet. I don't see ads on the web anymore. I also don't get called foul…
Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#63Earlier quoted context omitted.
Always make sure that critical flows in the app won't fail if analytics event fails. Monoprice's site won't allow checkout with uBlock unless you define a function they're trying to call: _satellite = { track: function(){} } With inventions like Google Tag Manager that allow marketing departments to inject JS into the production site, things like this may not even be the developers' fault.
The user is running an extension that breaks random pieces of the web page. Obviously that's not the developer's fault.
Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#64Earlier quoted context omitted.
Always make sure that critical flows in the app won't fail if analytics event fails. Monoprice's site won't allow checkout with uBlock unless you define a function they're trying to call: _satellite = { track: function(){} } With inventions like Google Tag Manager that allow marketing departments to inject JS into the production site, things like this may not even be the developers' fault.
The user is running an extension that breaks random pieces of the web page. Obviously that's not the developer's fault.
If you develop for something that is not ad based you need to be aware of and test for these issues.
Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#65more like objectively bad content blocking algorithms...
i'm not going to pretend i have a better solution than hardcoding file names. but i'm also not going to pretend it's not the responsibility of the ad blocker to eliminate false positives.
Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#66Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#67Happened to me as well when I published the source for a analytics browser extension on github ( https://chrome.google.com/webstore/detail/google-analytics-l... ) Anything to do with JavaScript on the page would fail. Thankfully, github's support team was very helpful in pointing out that uBlock was the cause.
Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#68Another protip: don't name your images "banner.jpg"; "ads.js" and "analytics.js" etc are also not exactly great names. Another protip: Always make sure that critical flows in the app won't fail if analytics event fails. You probably want to wrap calls to analytics provider with your own function, and in that function check for existence of global analytics object like "window.ga" which may fail to load due to adblock…
This shit drives me up a goddamn wall. I had a web app a few years ago that I was using webpack to build the JS with, and the output filename was just a SHA hash of the contents. After an update, I started getting reports that it wasn't working for some people. Turns out they had adblockers that were blocking *ad.js and it just so happened that the SHA hash of the file ended in ad.js
Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#69Another protip: don't name your images "banner.jpg"; "ads.js" and "analytics.js" etc are also not exactly great names. Another protip: Always make sure that critical flows in the app won't fail if analytics event fails. You probably want to wrap calls to analytics provider with your own function, and in that function check for existence of global analytics object like "window.ga" which may fail to load due to adblock…
This shit drives me up a goddamn wall. I had a web app a few years ago that I was using webpack to build the JS with, and the output filename was just a SHA hash of the contents. After an update, I started getting reports that it wasn't working for some people. Turns out they had adblockers that were blocking *ad.js and it just so happened that the SHA hash of the file ended in ad.js
Looks like it could be interesting to submit a PR to some popular hashing libs to have a 'adblock-safe' mode (append some postfix if hash ends with 'ad' etc) or at least document the thing so that more developers are aware!
Re: A JavaScript browser library fails due to an adblocker blacklisting 'beacon.js'
#70Earlier quoted context omitted.
> Another protip: don't name your images "banner.jpg"; "ads.js" and "analytics.js" etc are also not exactly great names. This is good advice even if you are designing banner ads or intrusive analytics! I often wondered how many ads get blocked by the very simple rules usually seen at the top of adblock lists: /ads/ etc. Ads vs adblockers is an arms race, and it seems like renaming the ads files to a random per-deploy…
They do. I've recently encountered a video ad startup that runs a proxy wrapping VAST responses into a VMAP. So, a website would request an ad not from DFP, but from an inconspicuous CloudFront URL. These CF distributions are deployed for each publisher and you'd have to block them one by one, not being able to block the whole ad platform. They said that some adblockers can discover ad servers by parsing responses. I…
[1]: http://blog.bugreplay.com/2016/11/pornhub-bypasses-ad-blocke...