自己创建这个博客也只是因为兴趣原因,不求有什么收益,一直以来很纠结是否要在网站上挂点儿广告什么的,挂广告必然会影响用户的体验,但是我也不想因为服务器费用亏得太多,索性还是挂点不碍眼的广告弥补一下损失。然而,由于浏览器各种屏蔽广告插件的出现,广告内容根本无法显示( ╯□╰ ),最终想了想还是通过弹窗提示一下用户吧。
现在最常用的屏蔽广告插件有AdBlock、ADT广告终结者等,初步了解了一下,这些插件都是根据关键字来屏蔽广告JS文件的,例如cmp、adview、cpc等,所以要想检测广告是否被屏蔽了,只需要伪造一个广告用的JS文件,在其内部创建一个变量,如果广告被屏蔽了那么这个JS文件就不会被加载,其内部声明的变量也就不会存在,这样就可以检测到广告是否被屏蔽了,其基本思路如下:
- 创建一个名称含有广告关键字的JS文件,例如“adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.js”
- 在JS文件内部随意创建一个变量,例如 var adskilltest=true;
- 在html中加载这个JS文件,如果广告被屏蔽了,文件adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.js将不会被载入,那么adskilltest这个变量就不会存在,if(typeof(adskilltest)==’undefined’ ) 就会为真
- 检测变量adskilltest是否存在即可判断广告是否被屏蔽
运行效果如下(代码在最后):
示例代码:
百度网盘:http://pan.baidu.com/s/1bnCWEV9 密码 k4md (防度娘河蟹)
转载请注明:悠然品鉴 » JS检测网站广告是否被屏蔽