コレは何? 編集
Adblockは、鬱陶しくて押し付けがましいWeb広告を消す拡張(アドオン)です。
あらかじめ用意した広告フィルタのルールに従って、画像やFlash、フレーム、外部JavaScriptなどのダウンロードをブロックしたり、特定のHTML要素を非表示にすることができます。ブロック対象は任意のURLフィルタ(JavaScriptの正規表現が使えます)で指定できます。応用として、アクセス解析などの行動解析スクリプトのブロックにも使われています。
現在は開発停止したAdblockに代わり、Adblock Plus(ABP)が主流です。Adblockとの大きな違いは、フィルタの入手が容易になったことと、ホワイトリスト機能の追加です。
フィルタ 編集
フィルタとは、広告ブロックのルールです。フィルタに書かれたルールにマッチするものをブロックするブラックリスト方式であり、ルールのリストはフィルタリストと呼ばれます。フィルタ無くしてAdblockは機能しません。
Adblock導入時に日本向けのフィルタリストが幾つか提示されますが、それで満足できる人は少ないでしょう。従って、自分でフィルタのルールを追加していくか、第三者が製作した汎用のフィルタリストを利用することになります。汎用のフィルタリストについては外部リンクの日本向けフィルタリストを参照して下さい。
フィルタには大きく分けて、適用フィルタと非表示要素フィルタの2つがあります。
適用フィルタ 編集
適用フィルタは、オブジェクト(=画像やFlash、フレーム、外部JavaScript)のURLに対して作用します。オブジェクトをダウンロードする前にブロックするので、回線帯域、トラフィックの軽減にも効果があります。適用フィルタの例は次のようなものです。
advertis
この例では、"advertis"を含むURLからのダウンロードをブロックします。例えば"advertise.com/cookie.js"や"/advertising.jpg"などがそれに該当します。
非表示要素フィルタ 編集
非表示要素フィルタは、ダウンロードされたオブジェクト内の要素に対して作用します。こちらはCSSを利用して要素を隠すだけなのでトラフィックの軽減には効果がありませんが、適用フィルタではブロックできない細かい広告も消すことができます。非表示要素フィルタは更にCSSセレクタと属性セレクタに分けられます。CSSセレクタの例は次のようなものです。
##div[class="ad"]
この例では、<div class="ad">~</div>の部分を非表示にします。また、同じフィルタを属性セレクタで表すと次のようになります。
#div(class=ad)
ただし、現在属性セレクタの使用は非推奨となっています。
ワイルドカード 編集
広告をブロックするための適用フィルタは以下のように、
*/adbanner*.jpg
などと *(ワイルドカード)を用いて簡単に書くことができます。ワイルドカードは「何らかの文字列」を表します。上の例では"adv/adbanner123.jpg"などがブロックされます。
正規表現 編集
以下のように最初と最後をスラッシュ(/)でくくると、JavaScriptの正規表現を用いることができます。
/\/count(er)?((\.\w+){2,3})?\//
これによって複数のフィルタをまとめたり、より高度なフィルタを書くことができます。より深く知りたい方はMozzilaの解説を参照する
するなどしてください。ただし、非効率な正規表現を使用すると大幅な速度低下をもたらすので注意が必要です。
「!」がつくフィルタ 編集
設定したフィルタはAdBlock Plusによって最適化処理が行われますが、長さが8文字未満の場合、最適化処理による高速化が望めないためこの処理の対象とされていません。正規表現が使用されている場合はすべてのパターンに対して最適化する事は現実的でないので処理の対象になっていません。また、
$document,domain=example.com
のような場合はフィルタ本体の長さが0で、種類やドメインをチェックするだけなので最適化の必要がありません。このようにAdBlock Plusによる最適化処理の対象となっていないフィルタに「!」がつきます。「!」がついているフィルタが増えすぎると遅くなるので注意が必要です。
既知の問題点 編集
動作が重たくなる 編集
フィルタの数を増やしたり複雑にしたりすると、どうしても動作が重くなってしまいます。ですから、フィルタを初めから全部有効にするのではなく、自分がよく見るサイトの広告を消すのに必要なフィルタから徐々に有効にしていくのがよいでしょう。また、低速フィルタは避けるようにしましょう。なお、Adblock Plusでは最新版になるにつれて動作が軽くなる傾向があるようです。
回線帯域に余裕があり、単に広告を非表示にしたい場合はusercontent.css
を使うと良いでしょう。また、userChrome.jsスクリプトで作られた軽量版のadblock#.uc.js
もあります。
Flashが表示されなくなる 編集
Adblock バージョン0.5 d2はFlash Player 8に対応していません。解決方法は以下のページを参照してください。
http://firefox.geckodev.org/index.php?FAQ#ucf4efa3
http://forum.mozilla.gr.jp/?mode=al2&namber=25250&rev=&0&KLOG=164
その他 編集
Skype Extension 2.2.0.102 及び Ask Toolbar 2.1.0.5(Zone Alarm Toolbar, Foxit Toolbar, Vuze Toolbar) 及び Ecosia extension in version 1.0.3 はAdblock Plusと競合することが分かっています。
FAQ 編集
~~のサイトの広告はどうやったら消えますか? 編集
いちいち答えていたらキリがないので、汎用の日本向けフィルタリストを使うか、それで消えなかったらElement Hiding Helper
を使って自分で対処して下さい。
オプションの「ブロック要素を隠す」って何? 編集
広告がブロックされた後の空きスペースを消すよう試みます。大抵は失敗します。
関連項目 編集
userContent.css
userContent.css/広告カット
RequestPolicy
外部リンク 編集
公式 編集
- Adblock@Firefox Add-ons
公開停止 - Adblock Plus@Firefox Add-ons
Adblock派生版
関連アドオン/スクリプト 編集
- Adblock Filterset.G Updater
Adblockと連携し、フィルターをダウンロードして自動更新するアドオン。ABPでは不要 - Element Hiding Helper
Adblock Plusと連携し、簡単に要素を非表示にできるアドオン - Adblock++
Adblock軽量版(WinNT系用)。使い方はふと今日は・・・・・・
を参照。Fx3.5以降で使う場合はFirefox更新情報 Wiki*
やWolaWola
を参照。 - adblock#.uc.js userChrome.js用のAdblock軽量版スクリプト
- Adblockxx
adblock#.uc.jsのC++版アドオン(WinNT系用)
- 2ch関連スレッド:【CSS】Mozilla広告ブロック Part5かな【Adblock】
142 :名無しさん@お腹いっぱい。:2009/09/18(金) 17:03:34 ID:j0XrBfDn0 Adblock# の C++ 版を作ってみた http://benki.tank.jp/xpi/Adblockxx_0.1.xpi フィルタの編集は、about:config でやれ ・ extensions.adblockxx.filter に打ち込むべし ・ 正規表現とかワイルドカードは使えない ・ @@で始めればホワイトリスト ・ 各フィルタは「<>」で区切る 例: /ad/<>/adbanner<>/ad-<>/ad.<>/ads<>/adimg<>/advert<>/banner<>/bdv/<>/bn/<>@@llnwd.net<>/sponsor/<>/pr/<>/click.<>@@youtube.com Adblock++ より速いような気がする(個人の感想です)
- 2ch関連スレッド:【CSS】Mozilla広告ブロック Part5かな【Adblock】
日本向けフィルタリスト 編集
有志による日本向けのフィルタリストです。それぞれ特色があるので自分にあったものを選びましょう。(ライセンスが明記されている場合それに従って使用してください。)