【问题标题】:Possible ways of detecting Adblock? I've tried so many things检测 Adblock 的可能方法?我尝试了很多东西
【发布时间】:2013-08-12 06:26:17
【问题描述】:

所以最近我注册了 adsense 并参与了我的 URL 缩短项目。广告当前显示在网站的标题上。 (在导航栏上方)。当用户启用了 Adblock 时,它几乎会破坏网站的标题部分。

现在我进行了研究,我已经找到了a topic here,但这对我没有任何帮助。

如果有人有任何检测广告拦截的好方法,将不胜感激!

【问题讨论】:

  • header是怎么毁的?在你的“毁坏”节点上使用window.getComputedStyle,如果它/它们不符合预期,你就知道发生了一些事情——adblock/failed to load/weird custom useragent stylesheet?

标签: javascript web adsense adblock


【解决方案1】:
function handle_adsense_blocker() {

 if (typeof(window.google_jobrunner) == 'undefined') {

  // doesn't seem to work for opera
  if ( navigator.userAgent.match(/opera/i) ) {

   return;

 }

 // replace Adsense ads with something else

 }

}

// add this to your window load event
window.setTimeout('handle_adsense_blocker()', 3000);

【讨论】:

    【解决方案2】:

    adblock 通过阻止来自该列表的资源来工作: https://easylist-downloads.adblockplus.org/easylist.txt

    选择一个与 ex 列表匹配的文件:

    ad1.js

    创建该文件并使其可供您的站点访问,并将此代码添加到其中:

    window.adblock = false;
    

    现在在你的应用 js 中放置:

    window.adblock = true;
    $.getScript("/js/ad1.js");
    

    现在,当您要显示添加时,只需检查 window.adblock 以查看是否启用了 adblock。

    if (window.adblock)
      console.error("adblock is enabled")
    else
      console.log("adblock is not enabled show ads")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      相关资源
      最近更新 更多