我已经为firefox启动了简单的Web扩展,理论上它应该根据远程服务器的某些响应来阻止对特定网站的访问。用户尝试导航,在未从远程服务器收到确认之前,将不会加载新页面。不幸的是远程"检查"服务器仅限于每个用户一秒钟内的一些请求,因此我无法检查用户导航到某个页面后发出的每个请求(并且没有必要)。是否有任何方法可以倾听"真实"导航不是所有这些请求,并在任何请求发出之前重定向整个选项卡?
我已尝试过附加API:
在收到内容后触发的标签事件,这不太好。
" HTTP的上 - 修改 - 请求"每个请求单独发送垃圾邮件远程检查服务器的事件被触发。
WebExtensions:
答案 0 :(得分:2)
针对每个请求单独发送远程检查服务器的垃圾邮件触发“http-on-modify-request”事件。
观察者通知为您提供了一个http频道,即频道has a loadInfo属性,该属性具有externalContentPolicyType属性,允许您通过匹配其中一个content policy constants来过滤顶级文档加载
WebRequest.jsm和browser.webRequest是http观察者的抽象,并提供类似的功能。