欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
!!! 網(wǎng)頁(yè)檢測 AdBlock 的 6 種方法

有些網(wǎng)頁(yè)上充斥著(zhù)令人厭惡的廣告,這些廣告不僅阻礙了信息的獲取,有的還嚴重影響了瀏覽者的心情。特別是某些毫不相關(guān)的多媒體廣告和彈出式窗口,不僅讓人感到被騷擾,還很容易誤點(diǎn)到,浪費寶貴的時(shí)間。由此便誕生了大名鼎鼎的跨平臺 AdBlock 插件,在任何主流瀏覽器上都有它的擴展或插件,用戶(hù)可以安裝它并屏蔽絕大多數的廣告。

既然 AdBlock 有檢測廣告并屏蔽它們的方法,作為網(wǎng)頁(yè)制作者,其實(shí)也有反過(guò)來(lái)檢測 AdBlock 的方法。

為什么要檢測 AdBlock

這是一個(gè)有爭論的問(wèn)題:用戶(hù)有選擇不看廣告、在瀏覽器頁(yè)面上銷(xiāo)毀廣告的權利,網(wǎng)站也有捆綁廣告和信息一同派發(fā)給你并收取廣告商展示費用的自由。這兩者都不能互相干預,并且在沒(méi)有明確法律法規的環(huán)境下,你可以防范我,我也可以防范你。

除了向 AdBlock 直接提交 “可接受的廣告網(wǎng)站” 申請進(jìn)入白名單以要求直接免受屏蔽之外,下面介紹 6 種從網(wǎng)站本身出發(fā)的檢測 AdBlock 并觸發(fā)相關(guān)操作的方法。

以下的方法都是以不修改廣告代碼本身的基礎上完成的,因為諸如 Google AdSense 的廣告聯(lián)盟要求不得修改代碼。

檢測廣告模塊可見(jiàn)高度

這是一種很樸實(shí)的方法,原理也很簡(jiǎn)單,就是檢測對應廣告模塊的高度是否小于它應有的高度,若小于就說(shuō)明它被置空塌陷了,也即說(shuō)明啟用了 AdBlock。

代碼類(lèi)似如下

if( document.getElementById('ads').clientHeight < 90 ){
//AdBlock Detected
}

此方案的可行性為中。某些情況下 AdBlock 屏蔽了某個(gè)廣告之后的處理情形比較特殊,不會(huì )使得廣告模塊塌陷,而是維持設定的高度顯示空白,那個(gè)時(shí)候就不管用了。

檢測可見(jiàn)廣告的個(gè)數

這是一個(gè)和上述類(lèi)似的方法,也很樸實(shí),那就是檢測當前頁(yè)面上的廣告個(gè)數是否達到預期,因為某些廣告可能并沒(méi)有觸發(fā) AdBlock 的規則得以顯示,所以可以利用檢查廣告的個(gè)數的方法來(lái)達到目的。

借助 jQuery,代碼類(lèi)似如下

if( $('.ads').filter(':visible').length < 3 ){
// Ads showing less than 3
// AdBlock Detected
}

此方案的可行性仍然為中,理由和上一個(gè)方法類(lèi)似。

檢測 google_jobrunner

這個(gè)方法僅僅適用于 Google AdSense 廣告。在加載了 AdSense 的廣告代碼之后,有一個(gè) window.google_jobrunner 對象被建立,而 AdBlock 會(huì )阻止 AdSense 代碼的加載,此時(shí)這個(gè)對象將不存在。我們可以靠這一點(diǎn)來(lái)檢測 AdBlock。

其代碼看起來(lái)類(lèi)似于

if ( typeof(window.google_jobrunner) != 'object' ){
// AdSense js not loaded
// AdBlock detected
}

此方案的可行性為高,因為這充分利用了 AdSense 的特點(diǎn),并且非常準確,效率也很高。

檢測 adsbygoogle 類(lèi)型是否是數組

這個(gè)方法僅僅適用于 Google AdSense 廣告。如果你使用了含有 ins 標簽的新異步代碼,則可以使用這個(gè)方法。其原理是,adsbygoogle 在當前頁(yè)面加載時(shí)被初始化為一個(gè)數組,而當 AdSense 的代碼被加載時(shí),它被進(jìn)化為一個(gè)對象 object,而 AdBlock 會(huì )阻止 AdSense 代碼的加載。因此,我們通過(guò)檢查 adsbygoogle 的狀態(tài)就可以知道 AdBlock 有沒(méi)有安裝。

其代碼應該類(lèi)似于

window.setTimeout(function(){
if(adsbygoogle instanceof Array) {
// AdSense js not loaded
// AdBlock detected
} }, 2000);

此方案的可行性為高,因為這充分利用了 AdSense 的特點(diǎn),并且非常準確,效率也很高。代碼中的 setTimeout 是為了彌補 AdSense 代碼運行所花費的時(shí)間,大約兩秒夠了。

使用 Ajax 模擬一個(gè)廣告代碼加載請求

我們知道 AdBlock 會(huì )阻止廣告代碼的加載,因此,我們可以通過(guò)嘗試模擬加載一個(gè)廣告代碼 ads.js ,如果AdBlock 屏蔽了這次行為,可以觸發(fā)其失敗的方法,達到檢測的目的。

借助 jQuery,我們可以這樣寫(xiě)

$.ajax({
url: "ads.js",
dataType: "script"
}).fail(function () {
// Ads.js not loaded
// AdBlock detected
});

此方案的可行性很高,因為這戳中了 Adblock 的弱點(diǎn)。其中 ads.js 本身可以是一個(gè)空文件,但它不能不存在,否則會(huì )發(fā)生 404 錯誤,導致誤判。所以你需要在這個(gè)目錄下放一個(gè) ads.js 文件。你甚至可以把它叫做 adsbygoogle.js 文件。

如圖所示,加載 ads.js 時(shí),行為被 AdBlock 阻止:

加載額外的 ads.js 幫助判斷

我們知道 AdBlock 會(huì )屏蔽頁(yè)面中類(lèi)似名稱(chēng)為 adsbygoogle.js、ads.js 的腳本文件,所以我們可以利用這個(gè)特點(diǎn)來(lái)引入一個(gè)自己的 ads.js 來(lái)幫助判斷。如何實(shí)現呢?

首先創(chuàng )建一個(gè) ads.js 文件,這個(gè)文件里只有一句話(huà):

var isAdEnabled = !!1;

然后,我們在網(wǎng)頁(yè)頁(yè)面上試圖引入這個(gè)腳本文件:

<script src="ads.js" type="text/javascript"></script>

如果存在 AdBlock,ads.js 會(huì )被屏蔽加載,因此 isAdEnabled 這個(gè)變量就不會(huì )被建立。

于是,我們這樣來(lái)檢測:

var isAdEnabled = isAdEnabled || !1;
if( !isAdEnabled ){
//Ads.js not loaded
// AdBlock detected
}

這樣,如果 ads.js 被屏蔽了,isAdEnabled 就會(huì )被初始化為 false。這個(gè)方案的可能性也很高。

寫(xiě)在最后

不僅僅有上述的檢測代碼,還有人甚至做好了 js 插件、wordpress 插件可以直接現成的用,它們功能豐富并且可以自定義設置。你可以根據自己的情況選擇鐘意的方案。但在此應當注意的是,廣告并不總是壞的,相反,網(wǎng)絡(luò )上存在著(zhù)很多有價(jià)值的廣告。如果自己的網(wǎng)站因為廣告的問(wèn)題被用戶(hù)反感,那么廣告提供商和網(wǎng)站管理員都應該想想怎么著(zhù)手去改善這一切,而不應該激怒用戶(hù)而讓他們用上 AdBlock,最后雙方都有損失。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
在你的網(wǎng)站中使用 AdSense廣告
學(xué)會(huì )用js調用AdSense代碼
博客賺錢(qián):博客如何賺錢(qián)怎樣賺錢(qián)
哪個(gè)博客最好?什么博客最好?新浪 網(wǎng)易 搜狐 百度空間 和訊 blogbus 優(yōu)博網(wǎng)_站外...
Using Google Adsense Async Responsive Ad Units
不得不說(shuō)的JavaScript異步加載
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久