经常看到有网站提示“我们检测到你可能使用了 AdBlock 或 Adblock Plus,它的部分策略可能会影响到正常功能的使用”,希望用户将该站点添加到adblock白名单,那么我们应该用什么手段检测网页是否适用AdBlock呢?
一般来说,AdBlock 的工作机制是它会维护一个规则列表,如果页面中的元素命中了某个规则,则就会将其屏蔽。我们创建一个ads.js文件,并写入:1
isAdBlockActive = false;
这样,如果 AdBlock 成功运行,isAdBlockActive 变量就会是 undefined,然后我们再添加一段 js 代码检测其状态,或给出提出。
1 | var AdBlocker = (function () { |
将上述文件和代码写入一个 test.html 文件中,访问该文件并切换 AdBlock 状态来查看运行效果。据此就可以判断出当前用户是否适用屏蔽插件了!