首页 > 经验 > 关键词 > 网页检测最新资讯 > 正文

网页检测AdBlock的6种方法

2015-02-09 09:48 · 稿源:netsh.org

有些网页上充斥着令人厌恶的广告,这些广告不仅阻碍了信息的获取,有的还严重影响了浏览者的心情。特别是某些毫不相关的多媒体广告和弹出式窗口,不仅让人感到被骚扰,还很容易误点到,浪费宝贵的时间。由此便诞生了大名鼎鼎的跨平台 AdBlock 插件,在任何主流浏览器上都有它的扩展或插件,用户可以安装它并屏蔽绝大多数的广告。

既然 AdBlock 有检测广告并屏蔽它们的方法,作为网页制作者,其实也有反过来检测 AdBlock 的方法。

为什么要检测 AdBlock

这是一个有争论的问题:用户有选择不看广告、在浏览器页面上销毁广告的权利,网站也有捆绑广告和信息一同派发给你并收取广告商展示费用的自由。这两者都不能互相干预,并且在没有明确法律法规的环境下,你可以防范我,我也可以防范你。

除了向 AdBlock 直接提交 “可接受的广告网站” 申请进入白名单以要求直接免受屏蔽之外,下面介绍 6 种从网站本身出发的检测 AdBlock 并触发相关操作的方法。

以下的方法都是以不修改广告代码本身的基础上完成的,因为诸如 Google AdSense 的广告联盟要求不得修改代码。

检测广告模块可见高度

这是一种很朴实的方法,原理也很简单,就是检测对应广告模块的高度是否小于它应有的高度,若小于就说明它被置空塌陷了,也即说明启用了 AdBlock。

代码类似如下

if( document.getElementById('ads').clientHeight < 90 ){
//AdBlock Detected
}

此方案的可行性为中。某些情况下 AdBlock 屏蔽了某个广告之后的处理情形比较特殊,不会使得广告模块塌陷,而是维持设定的高度显示空白,那个时候就不管用了。

检测可见广告的个数

这是一个和上述类似的方法,也很朴实,那就是检测当前页面上的广告个数是否达到预期,因为某些广告可能并没有触发 AdBlock 的规则得以显示,所以可以利用检查广告的个数的方法来达到目的。

借助 jQuery,代码类似如下

if( $('.ads').filter(':visible').length < 3 ){
// Ads showing less than 3
// AdBlock Detected
}

此方案的可行性仍然为中,理由和上一个方法类似。

检测 google_jobrunner

这个方法仅仅适用于 Google AdSense 广告。在加载了 AdSense 的广告代码之后,有一个 window.google_jobrunner 对象被建立,而 AdBlock 会阻止 AdSense 代码的加载,此时这个对象将不存在。我们可以靠这一点来检测 AdBlock。

其代码看起来类似于

if ( typeof(window.google_jobrunner) != 'object' ){
// AdSense js not loaded
// AdBlock detected
}

此方案的可行性为高,因为这充分利用了 AdSense 的特点,并且非常准确,效率也很高。

检测 adsbygoogle 类型是否是数组

这个方法仅仅适用于 Google AdSense 广告。如果你使用了含有 ins 标签的新异步代码,则可以使用这个方法。其原理是,adsbygoogle 在当前页面加载时被初始化为一个数组,而当 AdSense 的代码被加载时,它被进化为一个对象 object,而 AdBlock 会阻止 AdSense 代码的加载。因此,我们通过检查 adsbygoogle 的状态就可以知道 AdBlock 有没有安装。

其代码应该类似于

window.setTimeout(function(){
if(adsbygoogle instanceof Array) {
// AdSense js not loaded
// AdBlock detected
} }, 2000);

此方案的可行性为高,因为这充分利用了 AdSense 的特点,并且非常准确,效率也很高。代码中的 setTimeout 是为了弥补 AdSense 代码运行所花费的时间,大约两秒够了。

使用 Ajax 模拟一个广告代码加载请求

我们知道 AdBlock 会阻止广告代码的加载,因此,我们可以通过尝试模拟加载一个广告代码 ads.js ,如果AdBlock 屏蔽了这次行为,可以触发其失败的方法,达到检测的目的。

借助 jQuery,我们可以这样写

$.ajax({
url: "ads.js",
dataType: "script"
}).fail(function () {
// Ads.js not loaded
// AdBlock detected
});

此方案的可行性很高,因为这戳中了 Adblock 的弱点。其中 ads.js 本身可以是一个空文件,但它不能不存在,否则会发生 404 错误,导致误判。所以你需要在这个目录下放一个 ads.js 文件。你甚至可以把它叫做 adsbygoogle.js 文件。

如图所示,加载 ads.js 时,行为被 AdBlock 阻止:

加载额外的 ads.js 帮助判断

我们知道 AdBlock 会屏蔽页面中类似名称为 adsbygoogle.js、ads.js 的脚本文件,所以我们可以利用这个特点来引入一个自己的 ads.js 来帮助判断。如何实现呢?

首先创建一个 ads.js 文件,这个文件里只有一句话:

var isAdEnabled = !!1;

然后,我们在网页页面上试图引入这个脚本文件:

<script src="ads.js" type="text/javascript"></script>

如果存在 AdBlock,ads.js 会被屏蔽加载,因此 isAdEnabled 这个变量就不会被建立。

于是,我们这样来检测:

var isAdEnabled = isAdEnabled || !1;
if( !isAdEnabled ){
//Ads.js not loaded
// AdBlock detected
}

这样,如果 ads.js 被屏蔽了,isAdEnabled 就会被初始化为 false。这个方案的可能性也很高。

写在最后

不仅仅有上述的检测代码,还有人甚至做好了 js 插件、wordpress 插件可以直接现成的用,它们功能丰富并且可以自定义设置。你可以根据自己的情况选择钟意的方案。但在此应当注意的是,广告并不总是坏的,相反,网络上存在着很多有价值的广告。如果自己的网站因为广告的问题被用户反感,那么广告提供商和网站管理员都应该想想怎么着手去改善这一切,而不应该激怒用户而让他们用上 AdBlock,最后双方都有损失。

  • 相关推荐
  • 大家在看
  • 将今日头条、腾讯广告、微信广告等媒体“一网”打尽的广告投放系统

    媒体的多样化,消费者行为日益碎片化,对企业来说意味着需要撬动更多类型的媒体资源才能实现更好的数字营销。但反过来,随着接入的渠道和账户的增多,一般广告投放方式的弊端也会被凸显放大。我们不得不停下来反思,是否有更好的解决方案。测评后发现数透数据就是一个由大数据和技术驱动的解决方案。如果你是每天需要操作大量不同渠道投放账户的广告优化师,或是拥有大量客户的代理商、又或是正在寻求渠道策略优化的企业决策者,那

  • 钉钉经营范围新增广告发布 广告设计

    天眼查数据显示,近日,钉钉(中国)信息技术有限公司的经营范围发生变更,新增广告发布;广告设计、代理;广告制作等。钉钉(中国)信息技术有限公司成立于2018年3月,注册资本20亿元,法定代表人为钉钉CEO陈航,由DingTalk(Singapore)Private Limited全资持股。

  • 白酒广告缺乏个性?那你一定没看过90年代央视这组广告

    近些年,随着"国潮复兴”越来越受到广泛热议和年轻人的拥趸,很多国货品牌也越来越被大家提及。 今年 5 月,京东携手上海美术电影制片厂为“618”制作了一部微电影。京东小白狗穿越时空,把孙悟空、哪吒、葫芦娃、黑猫警长等动漫角色聚集到一起,上演了一波“国潮”回忆杀。 说到“国潮”广告,就不得不提上世纪 90 年代。当时,随着国内彩色电视机的普及,电视广告一度繁荣。很多经典的电视广告,成为了一代人共同的记忆。 在大

  • 谷歌前广告主管正在打造一款无广告的搜索引擎

    据外媒报道,Sridhar Ramaswamy于 2013 年成为谷歌广告和商务高级副总裁。他领导着这个价值 1150 亿美元的分支机构达五年之久,该机构负责通过AdSense在搜索、YouTube和网站上出现的广告。但因受够了谷歌的暴利和客户与广告商之间的利益冲突,Ramaswamy选择离开谷歌并创建了自己的搜索引擎。

  • 微博上的广告这么多,一定很赚钱吧?

    时间拨回一周前,因为“干扰网上传播秩序,以及传播违法违规信息等问题”,微博被约谈并要求整改。

  • 抖音趣味广告大盘点,笑死我了

    在抖音论沙雕广告的最强者,应该非郝凡莫属,之前与凡士林的合作就令人印(一)象(言)深(难)刻(尽)。两人并肩行走,这时郝凡被风迷眼,请伙伴帮忙吹吹,伙伴很给力,一鼓嘴,吹出一口满含干皮的“沙尘暴”,郝凡一个躲避不及,踉跄倒下,躺在一辆小推车上,不受控制的向老奶奶撞去,说时迟,那时快,老奶奶起身跑的裤子掉了都顾不上提……郝凡刚松一口气,前方又出现一拎水桶的美女!怎么办,车速是 70 迈,心情是非常坏,命运安排这?

  • 西瓜视频开通广告收益教程

    ​西瓜视频的广告一般会展示在视频开始或结尾的地方,开通西瓜视频广告收益后,作者将享有一定的广告收益。而平台为了平衡用户体验,并不是每次刷新都会有广告出现。那么怎么开通西瓜视频广告收益呢?以下是关于西瓜视频开通广告收益的详细介绍。

  • Facebook遭广告商集体抵制,阿迪达斯、福特等暂停投放广告

    作为全球社交巨头的Facebook在近日遇到了一个大麻烦,不少大企业都纷纷宣布将暂停在Facebook上进行投放广告,这其中就包括可口可乐、阿迪达斯、福特、惠普、联合利华,可口可乐,Verizon和李维斯等,这些大公司都将暂停在Facebook上投放广告一个月时间。

  • 韩国最大广告公司Cheil收购中国大数据公司ColourData

    <p>【TechWeb】6月2日消息,据国外媒体报道,韩国最大广告公司Cheil Worldwide(以下简称Cheil)今日宣布,收购中国大数据公司ColourData。</p><p><img

  • 抖音广告哪家强?沙雕郝凡站了起来

    在抖音论沙雕广告的最强者,应该非郝凡莫属,之前与凡士林的合作就令人印(一)象(言)深(难)刻(尽)。两人并肩行走,这时郝凡被风迷眼,请伙伴帮忙吹吹,伙伴很给力,一鼓嘴,吹出一口满含干皮的“沙尘暴”,郝凡一个躲避不及,踉跄倒下,躺在一辆小推车上,不受控制的向老奶奶撞去,说时迟,那时快,老奶奶起身跑的裤子掉了都顾不上提……郝凡刚松一口气,前方又出现一拎水桶的美女!怎么办,车速是 70 迈,心情是非常坏,命运安排这?

  • 微软在自家应用中启用大量广告:推荐用户使用Edge

    对于微软来说,他们正在自家的应用软件中卖力的推荐Edge浏览器,确切说是基于Chromium的Edge浏览器。现在你通过Chrome浏览器访问微软OneDrive的时候,会弹出“这是由微软推荐的全新浏览器

  • 未来广告怎么玩?一文窥见先机

    “玩广告”是种什么体验?“吃”过Papa Johns 虚拟心形披萨的玩家或许很有发言权。通过和snapchat深度合作,情人节当天,玩家进入活动页面,就可以用心形披萨滤镜拍照,还可以用滤镜中植入的 AR 订购系统下单。最终数据显示,超过25%的体验玩家都购买了滤镜同款披萨。将视线拉回国内,玩广告也成为潮流。游戏里,越来越多玩家通过玩广告“回血”,并顺手下载刚体验完的新游戏;地铁里,时常会有很多人陆续走到一个神秘位置,按下按

  • AppsFlyer 携手 Facebook Audience Network 推出业内首个广告系列层级应用内广告衡量方案

    助力游戏应用开发者进一步走向成功2020 年 6 月 3 日 北京 今天,全球归因领导者 AppsFlyer 宣布与 Facebook Audience Network 携手推出业内首个广告系列层级应用内广告变现收入花费回报衡量解决方案(campaign-level IAA ROAS measurement solution),这一方案特别为游戏开发者量身打造。通过将 Facebook Audience Network 群组用户产生的收入与获客渠道绑定,广告主能够精确优化获客策略,提升 ROAS (广告花费回报率)和 LTV(

  • 盘点这些年的魔性电梯广告 背后的投放逻辑

    想象这样一个场景:炎热的夏天,前脚迈入人和人的空间不足五厘米的狭小电梯里,后脚电梯门一关上,电梯广告的屏幕就开始不断嚎叫:“当贝!当贝!当贝投影!找工作!去罗马拍!去巴黎拍!和老板谈!整整整!”。而此刻的你,或许满身大汗,心情复杂。为什么选楼宇电梯广告?楼宇电梯广告本质上是一种新型广告媒体,以商务电梯、楼宇电梯为主,表现形式主要为在电梯内安装成相框的形式,还有一种是在电梯门上直接安装广告,可静可动。CTR媒介智

  • 短视频广告,赢在内容,还是形式?

    “唯一一个看了还想看的广告”、“从来没发现原来自己那么爱看广告”、“不够看”......以上这些都是抖音短视频广告创作者郝凡评论区的留言。他是一个靠拍广告走红的短视频创作者。从开始进入抖音到现在,所发布的作品已经达到了 118 个,几乎都是广告作品。

  • 虎牙直播被点名 官方回应:广告已下线

    对于6月8日今日虎牙直播等直播平台被央视官方点名一事,虎牙直播回应称报道中提及的未成年人消费投诉,平台已核实情况并完成退款。

  • 视觉信息助力广告点击率预估--京东广告团队技术论文入围KDD2020

    在以AI技术为支持的推荐、搜索、广告等业务中,点击率预估(CTR)一直是技术攻坚的核心,同时也是AI技术在业务落地中最难实现的技术方向之一。近日,来自京东广告团队的一篇论文《Category-Specific CNN for Visual-aware CTR Prediction at JD.com》,即《在京东,视觉助力点击率预估——基于给定类目信息的卷积神经网络》被KDD2020 成功收录。论文构建了一种基于特定类目的卷积神经网络(Category-Specific CNN, CSCNN),该算法有?

  • 老榕树跻身广告联盟移动推广头部阵营

    随着网络广告业的发展,在整个互联网的大环境下,截至目前,老榕树的全球用户数已经达到 1000 多万。老榕树表示,希望用更多样的互动玩法和变现方式,助力开发者在存量时代提高转化和变现。老榕树广告联盟运营负责人在上海面向老榕树智能建站软件、老榕树智能建APP平台、老榕树智能建小程序和老榕树智能微信智能营销软件的使用者表示,为鼓励APP、小程序和网站的开发者,老榕树广告联盟将实行100%让利分成和“引力金”扶持政策。老

  • 罗永浩是广告牌,薇娅李佳琦是团购网

    从发展路径上,有人将李佳琦形容为“明星”,将薇娅形容为“商人”;在罗永浩刚刚宣布将转身变成带货主播时,不少人认为,罗永浩是想取代李佳琦成为“带货一哥”;更多时候,外界把薇娅、李佳琦看作是电商主播界的优等生,而罗永浩更像是一个刚转学进来的“插班生”,来得晚,成绩也不够好。

  • 外媒:三星、LG互相撤销针对QLED电视广告的诉讼

    【TechWeb】6月8日消息,据国外媒体报道,三星电子和LG电子结束了双方针对QLED电视广告的纠纷。韩国公平贸易委员会证实,这两家公司已同意互相撤销针对QLED电视广告的诉讼。该委员会表示:“由于这两家公司已经撤回了诉讼,并已采取措施消除了他们的广告可能导致消费者误解其电视产品的担忧,因此我们决定结束审查程序。”去年9月份,LG就三星的QLED电视广告向韩国公平贸易委员会提起诉讼。该公司称,三星的QLED品牌具有“误导性?

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议