国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript實現檢查頁面上的廣告是否被AdBlock屏蔽了的方法

2019-11-20 13:57:52
字體:
來源:轉載
供稿:網友

每個人都討厭廣告。看電視、看電影、看優酷、看網頁時,對滿天飛的廣告也是深惡痛絕。廣告是一個不招人喜歡的東西。但是,對一個中小網站站長/博客主來說,廣告幾乎是唯一的能成支持網站/博客正常運轉的資金來源。如果一個博客主,只是無私發布稿件,能堅持幾年的,很少。大多數慢慢失去了熱情。

火狐瀏覽器和谷歌瀏覽器里都有能夠屏蔽頁面給廣告的插件,最有名的是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();方法里我們能做些什么呢?我們可以放一些京東、當當、亞馬遜會其它網站的促銷圖片和鏈接,通過獲取傭金,多少算是對損失的一點彌補。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 济阳县| 枣强县| 巴马| 铜山县| 宁安市| 牙克石市| 松潘县| 河间市| 张家口市| 深州市| 库车县| 定安县| 塔河县| 平江县| 临城县| 霞浦县| 海丰县| 永定县| 岳西县| 大石桥市| 昌黎县| 广州市| 西宁市| 夏河县| 山西省| 崇仁县| 和顺县| 宁陕县| 阳曲县| 边坝县| 古蔺县| 大名县| 寿光市| 康平县| 钟山县| 巫溪县| 油尖旺区| 澄城县| 昭觉县| 金昌市| 涪陵区|