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

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

火狐浏览器和谷歌浏览器里都有能够屏蔽页面给广告的插件,最有名的是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();方法里我们能做些什么呢?我们可以放一些京东、当当、亚马逊会其它网站的促销图片和链接,通过获取佣金,多少算是对损失的一点弥补。

(0)

相关推荐

  • 实用javaScript技术-屏蔽类

    一.屏蔽键盘所有键<script language="javascript"><!--function document.onkeydown(){event.keyCode = 0;event.returnvalue = false;}--></script> 二.屏蔽鼠标右键 在body标签里加上oncontextmenu=self.event.returnvalue=false 或者:<script language="javas

  • javascript实现网页屏蔽Backspace事件,输入框不屏蔽

    下面通过javascript代码实现网页屏蔽Backspace事件,输入框不屏蔽,具体代码如下: document.onkeydown = function (e) { var code; if (!e){ var e = window.event;} if (e.keyCode){ code = e.keyCode;} else if (e.which){ code = e.which;} //BackSpace 8; if ( (event.keyCode == 8) && ((eve

  • JavaScript屏蔽指定区域内右键菜单

    [把鼠标放在这里单击右键试试] function click() { if(event.button == 2) { alert("右键被屏蔽"); } } document.getElementById("abc").onmousedown=click [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • javascript屏蔽右键代码

    javascript屏蔽右键 复制代码 代码如下: <span style="font-size:18px;color:#ff0000;"><strong>document.oncontextmenu=function(e){ return false; };</strong></span>

  • javascript 屏蔽鼠标键盘的几段代码

    //屏蔽鼠标右键.Ctrl+n.shift+F10.F5刷新.退格键  function KeyDown(){  if ((window.event.altKey)&&  ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←  (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →  alert("不准你使用ALT+方向键前进或后退网页!");  event.returnValue=false; 

  • 屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码

    //屏蔽鼠标右键.Ctrl+n.shift+F10.F5刷新.退格键  function KeyDown(){  if ((window.event.altKey)&&  ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←  (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →  alert("不准你使用ALT+方向键前进或后退网页!");  event.returnValue=false; 

  • javascript过滤危险脚本方法

    下面是他们的字符串规则: 1.<(script|link|style|iframe)(.|\n)*<\/\1>\s* 2.\s*on[a-z]+\s*=\s*("[^"]+"|'[^']+'|[^\s]+)\s*(?=>) 3.\s*(href|src)\s*=\s*("\s*(javascript|vbscript):[^"]+"|'\s*(javascript|vbscript):[^']+'|(javascript|

  • JavaScript 关键字屏蔽实现函数

    复制代码 代码如下: <script language="javascript1.2"><!-- function test() { if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){ alert(":)"); a.b.focus(); return false;} } // --></script>

  • JavaScript实现自动对页面上敏感词进行屏蔽的方法

    本文实例讲述了JavaScript实现自动对页面上敏感词进行屏蔽的方法.分享给大家供大家参考.具体如下: <html> <head> <title>Bad Words Example</title> <script type="text/javascript"> function filterText(sText) { var reBadWords = /badword|anotherbadword/gi; return sT

  • 在textarea中屏蔽js的某个function的javascript代码

    有一个textarea,我想在这焦点在这个textarea中的时候屏蔽某个function,      就是使这个function失效,移出焦点后重新使其有效,请问该怎样实现??? 1楼 在你的那个函数里通过   document.activeElement   得到当前网页聚焦的那个控件,   判断这个若是这个   textarea   则跳出不执行本函数 2楼 楼上正解,向meizz学习 3楼 to   meizz(梅花雪)        我是用      document.activeEl

  • javascript实现划词标记+划词搜索功能

    复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>  <title>Untitled Document</title>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"

随机推荐