0
我正在嘗試開發一個附加組件來阻止某個網站(例如mydomain.com)上的網址列表(Facebook,Twitter等)。Firefox附加組件:入門 - 如何在特定頁面上阻止網址?
我還想攔截廣告......你知道是否可以擴展adblock plus嗎?
我應該從哪裏開始?我無法在Google上找到很多信息。
提前許多感謝,
我正在嘗試開發一個附加組件來阻止某個網站(例如mydomain.com)上的網址列表(Facebook,Twitter等)。Firefox附加組件:入門 - 如何在特定頁面上阻止網址?
我還想攔截廣告......你知道是否可以擴展adblock plus嗎?
我應該從哪裏開始?我無法在Google上找到很多信息。
提前許多感謝,
通常的做法是create an XPCOM component(注:例子是過時的,你必須要考慮this爲好)實施nsIContentPolicy
interface,並在content-policy
類別註冊。將爲每次加載嘗試調用組件的shouldLoad()
方法 - 您可以查看aContentLocation
和aRequestOrigin
參數以決定是否要阻止請求。
當然,Adblock Plus過濾器也是如此,例如,阻止Facebook的上mydomain.com您使用此過濾器:
||facebook.com^$domain=mydomain.com
Adblock Plus的allows other extensions to communicate with it。要添加一堆過濾器,您的擴展將在啓動時執行以下操作:
var filters = [
"||facebook.com^$domain=mydomain.com",
"||twitter.com^$domain=mydomain.com"
];
AdblockPlus.updateExternalSubscription("FooExtension",
"Filters from Foo Extension",
filters);
真正有用的信息。非常感謝。我會試一試。目前,我只是遵循https://developer.mozilla.org/en/XUL_School/Intercepting_Page_Loads#page-files – Eamorr 2012-03-02 11:39:34
我必須做一個'var AdblockPlus = require('AdblockPlus')'? – Eamorr 2012-03-02 11:43:05
@Eamorr:不,我鏈接的Adblock Plus文檔解釋了您如何訪問API。如果您使用的是附加SDK,那麼您還需要[chrome權限](https://addons.mozilla.org/en-US/developers/docs/sdk/1.5/dev-guide/module- development/chrome的.html)。 – 2012-03-02 11:50:04