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 相关文章推荐
JavaScript网页制作特殊效果用随机数
May 22 Javascript
利用jquery操作select下拉列表框的代码
Jun 04 Javascript
理解JAVASCRIPT中hasOwnProperty()的作用
Jun 05 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
May 12 Javascript
jquery插件格式实例分析
Jun 16 Javascript
微信小程序 icon组件详细及实例代码
Oct 25 Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 Javascript
phantomjs导出html到pdf的方法总结
Oct 19 Javascript
JS实现全屏预览F11功能的示例代码
Jul 23 Javascript
AJAX在JQuery中的应用详解
Jan 30 jQuery
JS div匀速移动动画与变速移动动画代码实例
Mar 26 Javascript
vue将后台数据时间戳转换成日期格式
Jul 31 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 无限分类的树类代码
2009/12/03 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
php把数组值转换成键的方法
2015/07/13 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
Bootstrap自定义文件上传下载样式
2016/05/26 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
bootstrap下拉菜单使用方法解析
2017/01/13 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
[02:09]抵达西雅图!中国军团加油!
2014/07/07 DOTA
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
Python中__init__和__new__的区别详解
2014/07/09 Python
python3批量删除豆瓣分组下的好友的实现代码
2016/06/07 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
django文档学习之applications使用详解
2018/01/29 Python
Sanic框架基于类的视图用法示例
2018/07/18 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
Python多分支if语句的使用
2020/09/03 Python
如何用Python 加密文件
2020/09/10 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
政府门卫岗位职责
2014/04/29 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
python中if和elif的区别介绍
2021/11/07 Python
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript