FuckAdBlock - 網站廣告攔截器檢測工具

jopen 9年前發布 | 8K 次閱讀 FuckAdBlock

FuckAdBlock 允許你檢測擴展的廣告攔截器(AdBlock 或者其他)。

在線示例:http://sitexw.fr/fuckadblock/

FuckAdBlock - 網站廣告攔截器檢測工具

(此項目還有個更方便的名字 BlockAdBlock)

支持

  • Google Chrome

  • Mozilla Firefox

  • Internet Explorer (8+)

  • Safari

  • Opera

安裝

手動

下載 "fuckadblock.js" 并添加到你的網站中

Bower:

bower install fuck-adblock

Node.js/io.js:

npm install fuckadblock

代碼示例

// Function called if AdBlock is not detected
function adBlockNotDetected() {
    alert('AdBlock is not enabled');
}
// Function called if AdBlock is detected
function adBlockDetected() {
    alert('AdBlock is enabled');
}
// Recommended audit because AdBlock lock the file 'fuckadblock.js' 
// If the file is not called, the variable does not exist 'fuckAdBlock'
// This means that AdBlock is present
if(typeof fuckAdBlock === 'undefined') {
    adBlockDetected();
} else {
    fuckAdBlock.onDetected(adBlockDetected);
    fuckAdBlock.onNotDetected(adBlockNotDetected);
    // and|or
    fuckAdBlock.on(true, adBlockDetected);
    fuckAdBlock.on(false, adBlockNotDetected);
    // and|or
    fuckAdBlock.on(true, adBlockDetected).onNotDetected(adBlockNotDetected);
}
// Change the options
fuckAdBlock.setOption('checkOnLoad', false);
// and|or
fuckAdBlock.setOption({
    debug: true,
    checkOnLoad: false,
    resetOnEnd: false
});

默認選項

// At launch, check if AdBlock is enabled
// Uses the method fuckAdBlock.check()
checkOnLoad: true
// At the end of the check, is that it removes all events added ?
resetOnEnd: true
// The number of milliseconds between each check
loopCheckTime: 50
// The number of negative checks after which there is considered that AdBlock is not enabled
// Time (ms) = 50*(5-1) = 200ms (per default)
loopMaxNumber: 5
// CSS class used by the bait caught AdBlock
baitClass: 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links'
// CSS style used to hide the bait of the users
baitStyle: 'width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;'
// Displays the debug in the console (available only from version 3.2 and more)
debug: false

提供的方法

// Allows to set options
// #options: string|object
// #value:   string
fuckAdBlock.setOption(options, value);
// Allows to check if AdBlock is enabled
// The parameter 'loop' allows checking without loop several times according to the value of 'loopMaxNumber'
// Example: loop=true  => time~=200ms (time varies depending on the configuration)
//          loop=false => time~=1ms
// #loop: boolean (default: true)
fuckAdBlock.check(loop);
// Allows to manually simulate the presence of AdBlock or not
// #detected: boolean (AdBlock is detected ?)
fuckAdBlock.emitEvent(detected);
// Allows to clear all events added via methods 'on', 'onDetected' and 'onNotDetected'
fuckAdBlock.clearEvent();
// Allows to add an event if AdBlock is detected
// #detected: boolean (true: detected, false: not detected)
// #fn:       function
fuckAdBlock.on(detected, fn);
// Similar to fuckAdBlock.on(true|false, fn)
fuckAdBlock.onDetected(fn);
fuckAdBlock.onNotDetected(fn);

項目主頁:http://www.baiduhome.net/lib/view/home/1441546586744

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!