WebExtension重定向和阻止网站

时间:2016-11-15 15:56:59

标签: firefox-addon firefox-webextensions

我已经为firefox启动了简单的Web扩展,理论上它应该根据远程服务器的某些响应来阻止对特定网站的访问。用户尝试导航,在未从远程服务器收到确认之前,将不会加载新页面。不幸的是远程"检查"服务器仅限于每个用户一秒钟内的一些请求,因此我无法检查用户导航到某个页面后发出的每个请求(并且没有必要)。是否有任何方法可以倾听"真实"导航不是所有这些请求,并在任何请求发出之前重定向整个选项卡?

我已尝试过附加API:

  • 在收到内容后触发的标签事件,这不太好。

  • " HTTP的上 - 修改 - 请求"每个请求单独发送垃圾邮件远程检查服务器的事件被触发。

WebExtensions:

  • browser.webNavigation.onBeforeNavigate看起来就像我需要的那样,但我既不能发送检查请求,也不能从那里重定向,我不确定我能够。

1 个答案:

答案 0 :(得分:2)

  

针对每个请求单独发送远程检查服务器的垃圾邮件触发“http-on-modify-request”事件。

观察者通知为您提供了一个http频道,即频道has a loadInfo属性,该属性具有externalContentPolicyType属性,允许您通过匹配其中一个content policy constants来过滤顶级文档加载

WebRequest.jsmbrowser.webRequest是http观察者的抽象,并提供类似的功能。