通常は 300x250 の広告が表示される背景画像を表示しようとしていますが、adblock が広告をブロックしている場合のみです。これを行う方法を知っている人はいますか?div を使用すると、広告が読み込まれる前に背景が表示されますが、これは望ましくありません。
ありがとう
通常は 300x250 の広告が表示される背景画像を表示しようとしていますが、adblock が広告をブロックしている場合のみです。これを行う方法を知っている人はいますか?div を使用すると、広告が読み込まれる前に背景が表示されますが、これは望ましくありません。
ありがとう
訪問者のコンピュータには広告ブロック ソフトウェアがインストールされているため、広告がブロックされているかどうかを知る方法はありません (私が考えることができます)。ただし、広告は JavaScript で表示されるため (特に adblock ソフトウェアによってターゲティングおよびブロックされます)、ページの最後で広告が読み込まれたかどうかを確認する JavaScript を記述し、そうでない場合は CSS クラスを追加することができます。div
必要な背景画像を表示します。擬似コード:
<style type="text/css">
.adblocked { background: url("img/no-ad.jpg") left top no-repeat; }
</style>
<div id="ad"></div>
<script src="ads.js"></script>
<script>
if (typeof adLibraryName === "undefined") {
// ad stuff was not loaded
document.getElementById("ad").className += " adblocked";
}
</script>
MAXIM が述べたように、これは PHP とは関係がなく、PHP で動作させる方法はありません。PHP はサーバー上で実行され、広告ブロックがインストールされているかどうかがわからないためです。簡単に言えば、これはすべてクライアント側の問題です。
Adsense がブロックされているかどうかを確認し、代替コンテンツを広告コンテナにロードします。
if (typeof(window.google_jobrunner) == '未定義') {
// Adsense がブロックされているため、別のものをコンテナにロードします
}
これを行う場合は、CSS でコンテナーの高さを設定することをお勧めします。
[ブロック可能なアイテムを開く] を選択すると、Firefox で Adblock Plus がブロックしているものを確認できます。
Adblock Plus は、ファイル名に一般的な広告のサイズを含む画像もブロックします。たとえば、'whatever_468x60.png' はおそらくブロックされます。
PHPで質問にタグを付けたので、phpメガネをオンにして答えます:これの問題は、広告ブロックがクライアント側であり、phpを介してdivを追加するのがサーバー側であることです。したがって、最初にクライアント側で何が起こるかを知り、コードを作成する必要がありますが、それはうまくいきません。おそらく AJAX リクエストを介してこれを行うこともできますが、それはとにかく adblock がアクティブ化されているかどうかを知らずに最初にページを送信することを意味します.</p>
乾杯、±…</p>