2012-01-14 9 views
-1

私は基本的なAdblock検出スクリプトで作業していますが、と思われるものを考え出しました。が必要です。 Adblock PlusのChromeで#adblock_detection_imageというIDのページに要素を作成すると、という値が表示され、$('#adblock_detection_image').css('visibility')の値がhiddenになります。 Adblockerのないブラウザでこれらを実行すると、期待通りにinlinevisibleが得られます。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'); 
    } 
}); 
+0

'adClass'はどこに定義されていますか?あなたのページを見て、その 'undefined' – Andreas

+0

@john_doeおっと!最近の変更で変数を削除し、document.readyで変数を変更するのを忘れました。修正されましたが、それでも動作しません。 –

+0

それは私のために働く! – noob

答えて

0

、adblockerはそうあなたがJQによって、この要素のCSSにアクセスすると、実際にあなたがunavilable要素へのアクセスから削除された、そこに「#広告-1」で、elemetは広告が含まれて削除htmlソースearly.isntそれは本当ですか?

+0

@msk AdBlockerが間違っているのは、各ページに追加されるCSSファイルです。このCSSファイルには、多くの広告セレクタが含まれています。通常、これらの広告要素はすべてdisplay:none!important;に設定されます。 – noob

+0

あなたのフィードバックのためにD tanx – msk

0

Adblockは、adやgerman "werbung"などの単語や広告によく使用される単語を含む要素を検索します。あなたは要素にその言葉を含まない別の名前を付けるべきです。私の最初のウェブサイトで同じ問題が発生していたところで、divという名前を "left_ad"と名づけました。

+0

Adblockが常にそれを検出するように私はAdsenseを使用しています。 OPで表示されるコードスニペットは、Adblocksの注意をうまく取るため、コンソールで '$( 'adblock_detection_image')。css( 'display')'を試してみると 'none'になります。しかし、ページの負荷でOPスニペットを実行すると、うまくいかないようです。 –

+0

@ DRP96間違ったAdBlockerは、各ページに追加されるCSSファイルです。このCSSファイルには、多くのリストされた広告セレクタが含まれています。通常、これらの広告要素はすべてdisplay:none!important;に設定されます。 – noob

+0

@micha、はい、知っています。私が言ったのはただ象徴的だった。 – Dion

関連する問題