HTML - 広告ブロックチェック - anti-contentBlocker

クラウディア 
1. 概要
2. ダウンロード
3. 設置
4. カスタマイズ
5. 動作確認

1. 概要

 あれこれ使ってみて、これに落ち着きそうなのであります。  対象とするものは、「adsbygoogle」なので、「GoogleAdsense」のブロックを検出するものですが、「GoogleAdsense」をブロックしているのであれば、他のものをブロックしている可能性は高いですし。  「GoogleAdsense」が稼ぎ頭ですので、それをまずチェックするという認識です。  下記のサイトで、ソースコードまで含めた一式で公開されているものです。
広告ブロックしているユーザを簡単に判別してみる
 使える一式が提供されており、カスタマイズもやりやすい。  かつ広告ブロックの無効化の方法を説明しているのも、非常に親切です。

2. ダウンロード

 下記のサイトで。
anti-contentBlocker.js | 広告ブロックをブロック
 ダウンロードの直下にある、リンクをクリックすればダウンロードできます。
「anti-contentBlocker」-「ダウンロード」

 ダウンロードしたファイルは、「.zip」形式になっています。
 解凍すると、下記のような構造になっています。


□anti-contentBlocker
├□ anti-contentBlocker.css
├□ anti-contentBlocker.js
└□ resources
 ├□ iframes
 │├□ android.html
 │├■ en
 │├□ iframe.css
 │├□ ios.html
 │└□ pc.html
 └□ imgs
  ├■ android
  ├■ en
  ├■ ios
  └■ pc
 「anti-contentBlocker.js」が、チェッカーの本体です。  「resources」に説明のコンテンツ、「imgs」にコンテンツに表示する画像データがあり、表示相手が「PC」「ios」「android」であったり、日本語の他に英語の説明があったり、至れり尽くせりです。

3. 設置

 展開した「anti-contentBlocker」をフォルダごと、ドキュメントルートに置きます。  「.html」内に

<link rel="stylesheet" href="/anticb/anti-contentBlocker.css">
<script src="/anticb/anti-contentBlocker.js"></script>
<script>
window.addEventListener( 'load', __acb.detectBlocker, false );
</script>
 と、記述すれば、その時点で機能します。  「head」に置いても「body」に置いても機能しました。

4. カスタマイズ

 カスタマイズというほど、大げさなものではありませんが・・・。  わたしのダウンロードしたバージョンであれば、「anti-contentBlocker.js」の

		var msg = __acb.isJA ?
					'広告ブロック機能を無効にして再読込してください。' :
					'You must DISABLE contentBlocker to visit this webpage. ';
 の部分が、広告ブロックを検出時のメッセージの文言になっています。  これを編集すれば、文言が変わります。  これは、「.html」コンテンツ内にはきだすメッセージですので、改行を入れる際は、「\n」ではなく「<br>」を記述します。

5. 動作確認

 2022年8月8日、下記のブラウザで機能することを確認しました。  ブロッカ欄は、広告ブロックを何によってブロックしているか、検出欄で「○」になっているものは、広告ブロックを検出できたものです。
 ブラウザ   バージョン   ブロッカ   検出   備考 
Google Chrome 104.0.5112.79 組込機能
Microsoft Edge 103.0.1264.62 AdBlock
Opera 89.0.4447.83 AdBlock
Safari 5.1.7
Vivaldi 5.3.2679.68 組込機能

 「Safari」は、残念ながら「親愛なるアップルさま」が、「Windows」への提供をやめてしまったため、今のところ確認できておりません。
 「iPhone」で確認しようと思っていますが、現在未確認です。
 「Safari」を除けば、メジャーどころは、抑えきれているかな・・・と思います。

earthcar(アースカー)
損保との違い