2012-03-01 4 views
0

私は特定のウェブサイト(例:mydomain.com)のURL(Facebook、Twitterなど)のリストをブロックするためのアドオンを開発しようとしています。Firefoxのアドオン:始めて - 特定のページのURLをブロックする方法?

広告をブロックしたいと思います...広告ブロックプラスを拡張することができるかどうか知っていますか?

どこから始めたらよいですか?私はgoogleで多くの情報を見つけることができません。通常のアプローチはcreate an XPCOM componentになり

答えて

2

事前に

多くのおかげで、(ノート:例は、古くなっているあなたにもthisを考慮する必要があります)nsIContentPolicy interfaceを実装し、content-policyカテゴリに登録します。ロードの試行ごとにコンポーネントのshouldLoad()メソッドが呼び出されます。リクエストをブロックするかどうかを決定するには、aContentLocationaRequestOriginのパラメータを参照してください。

もちろん、Adblock Plusフィルタでも同じことが可能です。

||facebook.com^$domain=mydomain.com 

自分好みプラスallows other extensions to communicate with it:mydomain.com上のFacebookをブロックするために、あなたはこのフィルタを使用しています。多数のフィルタを追加するには、起動時に拡張機能が次の処理を行います。

var filters = [ 
       "||facebook.com^$domain=mydomain.com", 
       "||twitter.com^$domain=mydomain.com" 
       ]; 
AdblockPlus.updateExternalSubscription("FooExtension", 
             "Filters from Foo Extension", 
             filters); 
+0

本当に便利な情報です。どうもありがとう。私はそれを試してみましょう。現在のところ、私はhttps://developer.mozilla.org/en/XUL_School/Intercepting_Page_Loads#page-filesにちょうど従っています – Eamorr

+0

'var AdblockPlus = require( 'AdblockPlus')'をしなければなりませんか? – Eamorr

+0

@Eamorr:いいえ、私がリンクしているAdblock Plusのドキュメントは、APIへのアクセス方法について説明しています。アドオンSDKを使用している場合は、[chrome authority](https://addons.mozilla.org/en-US/developers/docs/sdk/1.5/dev-guide/module-development/chrome)も必要です。 .html)。 –