JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法


Posted in Javascript onNovember 03, 2014

每个人都讨厌广告。看电视、看电影、看优酷、看网页时,对满天飞的广告也是深恶痛绝。广告是一个不招人喜欢的东西。但是,对一个中小网站站长/博客主来说,广告几乎是唯一的能成支持网站/博客正常运转的资金来源。如果一个博客主,只是无私发布稿件,能坚持几年的,很少。大多数慢慢失去了热情。

火狐浏览器和谷歌浏览器里都有能够屏蔽页面给广告的插件,最有名的是AdBlock和AdBlock Plus。前几天,我做一个统计,看看浏览网站的用户中有多少人使用了AdBlock插件,发现这个数目竟然有总浏览人数的1/5。

1/5是一个不小的数目。如何能让广告位在这1/5的使用了AdBlock插件的用户的页面上用其它图片代替呢?要想做到这一点,首先是要有个办法知道当前浏览器中使用了AdBlock插件。经过一些测试,我发现,AdBlock对“Ad”或“Google AD”这样的词非常敏感,只要是某个页面元素的ID或css class名中有“Ad”字样的,这个元素基本上都会被AdBlock插件屏蔽掉,也就是 display:none:

<div class='google-ad testAd'> 这个div将会被屏蔽掉 </div>

有了这个规律,我就能够使用JavaScript发现当前浏览器是否开启了AdBlock插件。首先,我们将Google广告代码放到一个div里,并且将div的css class name里放入一个很明显的表示google AD的类名:

<div class='google-ad testAd'> 这里放置Google广告代码</div>

然后在页面的底部用Js检测,:

if ($('.google-ad').height() == 0) showOtherImage();

这里还有一个问题,Google的广告通常是指Dom加载完毕后显示的,为了保证在Google广告加载完成后再进行探测,要给js代码加入延迟执行特征,这样避免了误检测:

$(function(){

   setTimeout(function(){

  if ($('.google-ad').height() == 0)

   showOtherImage();

  },3000);

});

这里的showOtherImage();方法里我们能做些什么呢?我们可以放一些京东、当当、亚马逊会其它网站的促销图片和链接,通过获取佣金,多少算是对损失的一点弥补。

Javascript 相关文章推荐
js 实现无缝滚动 兼容IE和FF
Jul 15 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
Dec 17 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
纯JS前端实现分页代码
Jun 21 Javascript
js控制div层的叠加简单方法
Oct 15 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
微信小程序 动态传参实例详解
Apr 27 Javascript
swiper 自动图片无限轮播实现代码
May 21 Javascript
微信小程序websocket实现聊天功能
Mar 30 Javascript
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
vue项目移动端实现ip输入框问题
Mar 19 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
Jun 04 Javascript
网页中表单按回车就自动提交的问题的解决方案
Nov 03 #Javascript
详解jquery中$.ajax方法提交表单
Nov 03 #Javascript
jquery处理json对象
Nov 03 #Javascript
js格式化时间小结
Nov 03 #Javascript
解决js下referer兼容各大浏览器的方法
Nov 03 #Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
Nov 02 #Javascript
jQuery中ajax和post处理json的不同示例对比
Nov 02 #Javascript
You might like
PHP配置心得包含MYSQL5乱码解决
2006/11/20 PHP
php简单静态页生成过程
2008/03/27 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
js prototype截取字符串函数
2010/04/01 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
python调用windows api锁定计算机示例
2014/04/17 Python
Python random模块用法解析及简单示例
2017/12/18 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
教学质量评估实施方案
2014/03/17 职场文书
房产买卖委托公证书
2014/04/04 职场文书
公司投资建议书
2014/05/16 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
仙境之桥观后感
2015/06/16 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
浅析python中特殊文件和特殊函数
2022/02/24 Python