我正在为用户请求阻止网站创建一个插件。我已经完成了 - 获取用户输入并存储在simple-storage中。现在我想在页面加载之前访问选项卡的url以便我可以处理网址并获取主机名以阻止该网站。
答案 0 :(得分:2)
您使用PageMod module和onAttach
执行此操作。
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扩展程序正在执行的操作,也许您可以直接使用它或查看其代码。