每個(gè)人都討厭廣告。看電視、看電影、看優(yōu)酷、看網(wǎng)頁(yè)時(shí),對(duì)滿天飛的廣告也是深惡痛絕。廣告是一個(gè)不招人喜歡的東西。但是,對(duì)一個(gè)中小網(wǎng)站站長(zhǎng)/博客主來說,廣告幾乎是唯一的能成支持網(wǎng)站/博客正常運(yùn)轉(zhuǎn)的資金來源。如果一個(gè)博客主,只是無(wú)私發(fā)布稿件,能堅(jiān)持幾年的,很少。大多數(shù)慢慢失去了熱情。
火狐瀏覽器和谷歌瀏覽器里都有能夠屏蔽頁(yè)面給廣告的插件,最有名的是AdBlock和AdBlock Plus。前幾天,我做一個(gè)統(tǒng)計(jì),看看瀏覽網(wǎng)站的用戶中有多少人使用了AdBlock插件,發(fā)現(xiàn)這個(gè)數(shù)目竟然有總瀏覽人數(shù)的1/5。
1/5是一個(gè)不小的數(shù)目。如何能讓廣告位在這1/5的使用了AdBlock插件的用戶的頁(yè)面上用其它圖片代替呢?要想做到這一點(diǎn),首先是要有個(gè)辦法知道當(dāng)前瀏覽器中使用了AdBlock插件。經(jīng)過一些測(cè)試,我發(fā)現(xiàn),AdBlock對(duì)“Ad”或“Google AD”這樣的詞非常敏感,只要是某個(gè)頁(yè)面元素的ID或css class名中有“Ad”字樣的,這個(gè)元素基本上都會(huì)被AdBlock插件屏蔽掉,也就是 display:none:
有了這個(gè)規(guī)律,我就能夠使用JavaScript發(fā)現(xiàn)當(dāng)前瀏覽器是否開啟了AdBlock插件。首先,我們將Google廣告代碼放到一個(gè)div里,并且將div的css class name里放入一個(gè)很明顯的表示google AD的類名:
然后在頁(yè)面的底部用Js檢測(cè),:
這里還有一個(gè)問題,Google的廣告通常是指Dom加載完畢后顯示的,為了保證在Google廣告加載完成后再進(jìn)行探測(cè),要給js代碼加入延遲執(zhí)行特征,這樣避免了誤檢測(cè):
這里的showOtherImage();方法里我們能做些什么呢?我們可以放一些京東、當(dāng)當(dāng)、亞馬遜會(huì)其它網(wǎng)站的促銷圖片和鏈接,通過獲取傭金,多少算是對(duì)損失的一點(diǎn)彌補(bǔ)。
新聞熱點(diǎn)
疑難解答
圖片精選