Firefox addon WebExtension重定向和阻止网站

Firefox addon WebExtension重定向和阻止网站,firefox-addon,firefox-addon-webextensions,Firefox Addon,Firefox Addon Webextensions,我已经为firefox启动了简单的web扩展,从理论上讲,它应该根据远程服务器的一些响应来阻止对特定网站的访问。用户尝试导航,在未收到来自远程服务器的确认之前,不会加载新页面。不幸的是,对于每个用户来说,远程“检查”服务器在一秒钟内仅限于几个请求,所以我不能(也没有必要)检查用户导航到某个页面后发出的每个请求。有什么方法可以监听“真正的”导航而不是所有这些请求,并在发出任何请求之前将整个选项卡重定向到某个地方 我尝试了附加API: 在已经接收到内容之后触发的选项卡事件,这不好 “http on

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

我尝试了附加API:

  • 在已经接收到内容之后触发的选项卡事件,这不好

  • “http on modify request”事件分别针对每个请求触发,并向远程检查服务器发送垃圾邮件

网络扩展:

  • browser.webNavigation.OnBeforeNavigation似乎是我需要的,但我既不能发送检查请求,也不能从那里重定向,而且我不确定我是否能够
“http on modify request”事件分别针对每个请求触发,并向远程检查服务器发送垃圾邮件

该观察者通知为您提供一个http通道,即通道属性,该属性允许您通过匹配其中一个属性来筛选顶级文档加载


和是http观察器上的抽象,并提供类似的功能。

如何在未收到某个内容(超时)之前不加载?(即,“在未收到来自远程服务器的确认之前,不会加载新页面”。这个问题对于堆栈溢出格式来说实在太广泛了。有太多可能的实现方法。其中一种方法是跟踪允许的URL/域。然后,您只在第一次请求该域中的某个内容时才请求授权。然后,您会记住该响应,并将其用于任何未来对该域的请求。即使您具体如何实现这一点也太广泛了。