私は基本的なAdblock検出スクリプトで作業していますが、と思われるものを考え出しました。が必要です。 Adblock PlusのChromeで#adblock_detection_image
というIDのページに要素を作成すると、という値が表示され、$('#adblock_detection_image').css('visibility')
の値がhidden
になります。 Adblockerのないブラウザでこれらを実行すると、期待通りにinline
とvisible
が得られます。Adblockの検出に関する問題
これを見つけて、私は先に進み、解決策を作り出そうとしました。しかし、問題は、アドブロッカーがシンプルに検出されたときにトリガーするコードがトリガーしないことです。コードスニペットを以下に示します。おそらく
function isUsingAdblocker(classOfAd)
{
if(parseInt($(classOfAd).css('height')) <= 0)
{
return true;
}
else
{
$('body').append('<img id="adblock_detection_image" src="/textlink-ads-banner-advert-service.jpg" style="width: 0; height: 10px; position: relative; top: -1000px; left: -1000px;"/>');
if($('#adblock_detection_image').css('display') != 'inline')
{
return true;
}
else if($('#adblock_detection_image').css('visibility') != 'visible')
{
return true;
}
else
{
return false;
}
}
}
$(document).ready(function(){
if(isUsingAdblocker('#Ad-One')){
$('#Ad-One').html('<em>Please</em> disable your ad-blocking software to help support this website.<br/><span>(It\'s our primary source of income!)');
$('#Ad-One').css('height', '90px');
}
});
'adClass'はどこに定義されていますか?あなたのページを見て、その 'undefined' – Andreas
@john_doeおっと!最近の変更で変数を削除し、document.readyで変数を変更するのを忘れました。修正されましたが、それでも動作しません。 –
それは私のために働く! – noob