使用JavaScript检测广告拦截器的最有效方法

使用JavaScript检测广告拦截器的方法

如果您想知道您网站上的访问者是否正在阻止百度联盟、阿里妈妈、Google AdSense和其他在线网络广告,则可以借助一些JavaScript轻松地做到这一点。常见的广告拦截器有哪些?可参考《手机广告过滤,手机广告拦截软件推荐》以及《用uBlock Origin过滤广告,享受最好的广告拦截体验》。

使用JavaScript检测广告拦截器的最有效方法

第1步:了解广告拦截器的工作原理

当浏览器请求网站地址时,它会下载相应的HTML文件,其中包括对Javascript文件,CSS样式表和图像的内部和外部引用。如果浏览器安装了广告拦截器,则会将引用的脚本和文件的名称与“阻止列表”进行比较,如果有匹配项,则将忽略这些文件。

常见的订阅规则例如:easylist.txt更多

第2步:利用“阻止列表”显示广告阻止者

所有阻止列表都包含对“ads.js”的引用,因为它是与投放广告相关联的JavaScript文件的通用名称。知道了这一点,将以下创建隐藏的div的JavaScript代码保存到名为“ads.js”的文件中,并将其放置在网站的根目录中。

注意:模糊的div ID是为了确保它不会与您的网站可能使用的任何其他div冲突。

第3步:检查“ ads.js”是否已加载或被阻止

将以下JavaScript放在标记上方的网站HTML源代码中。目的是检查在“ads.js”中创建的隐藏div是否存在(允许广告)(不存在)(阻止广告)。结束!

JavaScript检测广告拦截器的更多方法

一:根据特性检测识别广告拦截器

页面加载完成后,您可以检查是否存在window.google_jobrunner。我们正在使用setTimeout来处理可能不会立即加载的异步Google AdSense。

二:使用变量检测识别广告拦截器

另一种比较流行的方法是,在服务器中创建一个名为/ads.js的文件,并在该文件中将变量设置为false。AdBlocker通常会阻止名称中带有* .ads *的JavaScript文件,因此,如果广告阻止程序处于活动状态,则不会设置该变量。

现在,将其放置在主网页的HTML中。

三:定制化识别广告拦截器

这是与新的异步响应式Google Ads一起使用的另一个选项。

在新格式下,广告使用INS标签插入。该代码段检查INS标签内包含的标签的长度。如果为0,则Google Ads被阻止,并向用户显示一条自定义消息。

我们还需要将CSS显示属性设置为block,因为AdBlock可能会通过简单地使用CSS将其隐藏在屏幕上来阻止“adsbygoogle”类的广告。