勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

adblock(広告削除)設定している場合はページを表示させない

   2024/04/17  jQuery

iPhoneのSleipnirでネットをしていると「広告がブロックされたのでページを表示できません」というメッセージを出すサイトがあった。それまで知らなかったんだけどSleipnirにはadblock的な広告排除機能があるみたい。

そこで、どのような方法でadblock対策をしているのかが気になった。見てみたところ割とシンプルに対策できるみたい。以下がサンプルとソース。

 

BlockAdblockを使う方法(2023/08/09追記)

BlockAdblockというライブラリを使う方法を以下に追記。

ブラウザの広告ブロッカーを検知し、ブロックしている場合は何らかの処理を行う方法

 

サンプル

https://taitan916.info/sample/adblock/

 

ソース

<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>広告ブロック対策のテスト</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function() {
    setTimeout(function() {
        if ($('.adsense').find('span,iframe').is(':visible')) {
            $('block_message').hide();
        } else {
            $('.block_message').show();
            $('.contents').hide();
        }
    }, 1000);
});
</script>
</head>
<body>
    <div class="contents">
        body<br>
        body<br>
        body<br>
        body<br>
        body<br>
        body<br>
        body<br>
        body<br>
        body<br>
    </div>

    <div class="adsense">
        <!-- ここにアドセンスコード入れる -->
    </div>

    <div class="block_message" style="display:none;">
        広告がブロックされている為、コンテンツを表示できません。
    </div>

</body>
</html>

 

その他

classがadsens内のiframeを探して非表示状態であればコンテンツを非表示にし、警告文を表示させるというもの。あとは以下のようなスクリプトもあった。

antiblock.org

http://antiblock.org/

Downloadのリンクからソースを取得できる。ただ、PCでは正常に動いたけどiPhoneでは動かなかった。

 - jQuery

  関連記事

「slick」でarrows(次に進む・前に戻るボタン)を設定しても表示されない場合の対応方法

「slick」で画像スライダーを表示する際にarrows(次に進む・前に戻るボタ ...

jQueryのanimate()でページスクロール後に他の処理を実行させる方法

jQueryのanimate()でページスクロール後に特定の要素を非表示にしたい ...

jQuery UI Datepickerで日本の祝祭日を表示

やりたかった事は、jQueryのカレンダーピッカーで 日本の祝祭日の色を変えると ...

jQueryにて$.parseHTML()を用いてHTML文字列をDOMノードに変換する方法

あるサイトのソースコードを拝見しているとjQueryで$.parseHTML() ...

jQueryでUNIXタイムスタンプの取得

jQueryでUNIXタイムスタンプを取得したい場合、 $.now()だけで取得 ...