4

ターゲットが主にアフィリエイト ネットワーク ページ (ショップなどへのリダイレクトを実行するページ) である iframe 内で多くのリダイレクトを実行するページがあります。マークアップは次のようになります。

http://jsfiddle.net/HPDNC/2/

ご覧のとおり、広告ブロッカーを有効にすると、iframe が読み込まれません。何らかの方法でそれを検出して、直接リダイレクトするか、少なくともユーザーに状況を通知できるようにする必要があります。

通常の方法は、単に広告をチェックするか、広告ブロッカーがアクティブであるかどうかを検出しないことです. 残念ながら、このページには確認できる実際の広告はありません

4

2 に答える 2

2

あなたのサイトが広告ブロッカーで訪問されているかどうかを検出できます。<head>タグに、または実際にはどこにでも、これを入れます:

<script type="text/javascript">
window.ADS_BLOCKED = true;
</script>
<script type="text/javascript" src="/advertise/detect.js"></script>
<script type="text/javascript">
if (window.ADS_BLOCKED)
   alert('You blocked me...');
</script>

含まれている Javascriptdetect.jsは に設定さwindow.ADS_BLOCKEDfalseます。広告ブロッカーは、そのファイル名 (「広告」) のために、このファイルの読み込みを妨げます。

于 2012-02-07T11:02:35.163 に答える
0

iframe に ID を指定すると、javascript を使用して iframe の存在を確認できます。

次に例を示します。

<script type="text/javascript">

if(document.getElementById("ad") == null) {
    alert("The ad has been removed!");
}
else
{
    alert("It's alright, it's still here.");
}

</script>

編集:エラーを修正しました。

これにより、広告要素にアクセスする手段が Javascript に提供されます。( ) の後に続く Javascript コードはif(document.getElementById("ad") == null)、要素が存在するかどうかを確認するだけです。存在しない場合は、広告ブロッカーによって削除されたことを意味します。

一部の広告ブロッカー (以前のバージョンの Chrome 用 AdBlock など) は、要素を削除するのではなく、非表示にするだけです。JQuery を介して DOM 要素の CSS をチェックしたことがあるだけなので、これは演習として残します。

編集2:

こちらの回答を使用して、iframe 内の HTML が適切に読み込まれたかどうかを簡単に確認し、それに基づいて応答できます。

于 2012-02-07T11:09:14.587 に答える