ウェブページに anti-contentBlocker.js を設置する方法を解説します。
動作原理や概要については こちらのページ をご覧ください。
ダウンロードしたzipファイルを展開すると、anti-contentBlocker フォルダが現れます。
このフォルダを、フォルダ丸ごとウェブサーバの適当な場所にアップロードしてください。
このスクリプトは、Google AdSenseコードが正常に実行されたかを「ページ内のコード設置部分に iframe 要素が追加されたかどうか」をチェックすることによって判断します。
そのため anti-contentBlocker が正しく動作するためには、設置するページに、Google AdSense コードが 1つ 以上設置されていることが必要です。こちらの説明を参照してください。
Google以外の広告プロバイダが配信する広告についても、JavaScriptで動的に iframe要素 を流し込むような動作をするものであれば、ターゲットとして利用できると思います。
その場合は、監視する要素の class名 を 'adsbygoogle' から別のものに変更する必要があるでしょう。
anti-contentBlocker.js のソースコードを編集して、必要に応じて変数 targetClassName や targetElement, threshold を変更してください。
ページに、anti-contentBlocker.css および anti-contentBlocker.js を読み込んで、window.onload イベントに関数 __acb.detectBlocker を登録します。
設置したい HTML ファイルの <head> 〜 </head> 内に、以下を記述してください。
<link rel="stylesheet" href="path_to_file/anti-contentBlocker.css"> <script src="path_to_file/anti-contentBlocker.js"></script> <script> window.addEventListener( 'load', __acb.detectBlocker, false ); </script>
path_to_file は、設置した環境にあわせて変更してください。
こちらのページをご覧ください。
スクリプトの動作確認やデバッグのためのパラメータが用意されています。
anti-contentBlocker.js のソースコードを編集して、以下の値を変更してください。
以下の環境での動作を確認しています :
残念ながらあらゆる条件での動作テストは行えませんので、anti-contentBlocker を設置しても適切に動作しないページがあるかもしれません。
また「Google AdSense コードは、正常に実行されれば IFRAME 要素を INS 要素内に追加する」というのがこのスクリプトの動作の大前提ですが、これが常に正しいのかの検証も充分ではありません。
自分の環境では、ひとまず無難に動作しています。
何かお気づきの点がありましたら ご連絡 ください。