2016-11-15 90 views
1

我已经开始了Firefox的简单网络扩展,理论上应该根据远程服务器的某些响应阻止访问特定的网站。用户尝试导航,新页面将不会被加载,直到从远程服务器没有收到确认。不幸的是,远程“检查”服务器仅限于每个用户一秒钟的几个请求,所以我不能(并且没有必要)检查用户导航到某个页面后所做的每个请求。有没有什么方法可以在完成任何请求之前侦听“真实”导航而不是所有请求并将整个选项卡重定向到某处?WebExtension重定向和阻止网站

我试过插件API:内容解雇后

  • 标签事件已收到,这是不是很好。

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

WebExtensions:

  • browser.webNavigation.onBeforeNavigate好像我需要什么,但我不能没有发送检查请求没有从那里重定向,我不知道我会能。
+0

在没有收到*的情况下,如何加载?(超时?)? (即“新的页面将*不被加载*直到从远程服务器没有收到确认*” – Makyen

+0

这个问题对于堆栈溢出格式来说太宽泛了,可能有太多的方法来实现它。就是跟踪被允许的URL /域名,然后你只需要第一次请求授权,那么你就会记住这个响应并将它用于将来对该域名的任何请求,甚至你*实施这个太广泛了。 – Makyen

回答