如何在页面加载到Mozilla Addon SDK之前获取选项卡的URL?

时间:2014-01-21 12:40:23

标签: firefox-addon-sdk

我正在为用户请求阻止网站创建一个插件。我已经完成了 - 获取用户输入并存储在simple-storage中。现在我想在页面加载之前访问选项卡的url以便我可以处理网址并获取主机名以阻止该网站。

2 个答案:

答案 0 :(得分:2)

您使用PageMod moduleonAttach执行此操作。

pageMod.PageMod({
    contentScriptWhen: 'start', //This says not to wait until the page is ready
    include: ['*'],
    //Forget about contentScript(File), we're not attaching a script
    onAttach: function(worker) {
        var tabUrl = worker.tab.url;
        if(tabUrl==myString) worker.tab.url = 'http://arabcrunch.com/wp-content/uploads/2013/05/block-website.jpeg'
    }
});

但我建议您采取不同的方式。您可以创建一系列网址或partial URLs并设置include {{1},而不是自己检查每个网址,然后执行某项操作。 }。然后,您不需要: myArrayOfUrls中的if子句,您已经知道它是您要阻止的网站之一。

答案 1 :(得分:0)

您可以注册观察服务的http-on-modify-request通知。您将在发出请求之前收到通知,并且您可以获取该URL。

请参阅以下有关该主题的资源: Setting HTTP request headers用于注册示例,Observer Notifications用于您可以注册的通知列表。

您所描述的内容基本上是Adblock Plus扩展程序正在执行的操作,也许您可​​以直接使用它或查看其代码。