firefox - 如何处理 Firefox 扩展中的每个请求?

标签 firefox firefox-addon

我正在 try catch 并处理网页或其中的插件即将发出的每一个请求。 例如,如果您打开控制台并启用网络日志记录,当即将发送 HTTP 请求时,控制台会在那里显示它。 我想捕获每个链接并调用我的函数,即使 Flash 播放器加载了视频(如果它是 http,它也会记录在控制台中)。 谁能指导我应该做什么,或者我应该从哪里开始?

编辑:我希望能够取消请求并在需要时按我的方式处理。

最佳答案

我相信,您可以使用 Jetpack SDK 获得您需要的大部分内容。如果您注册到 system events并收听 http-on-modify-request ,您可以使用 nsIHttpChannel 方法来 modify响应和请求

let { Ci } = require('chrome');
let { on } = require('sdk/system/events');
let { newURI } = require('sdk/url/utils');

on('http-on-modify-request', function ({subject, type, data}) {
  if (/google/.test(subject.URI.spec)) {
    subject.QueryInterface(Ci.nsIHttpChannel);
    subject.redirectTo(newURI('http://mozilla.org'));
  }
});

附加信息,“Intercepting Page Loads

关于firefox - 如何处理 Firefox 扩展中的每个请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18112785/

相关文章:

javascript - 除 IE 外无法读取 cookie

python - 发布后 View 不刷新

google-chrome - 在 Firefox/Chrome 扩展程序中使用 Java/Python 库

javascript - 如何在 Firefox 附加组件中获取右键单击选项卡的 URL

firefox-addon - 如何使用 jpm 将 index.js 以外的文件添加到 Firefox 附加组件

java - org.openqa.selenium.WebDriverException : Error forwarding the new session cannot find : Capabilities {acceptInsecureCerts: true with Firefox

javascript - 在“面板”上显示当前页面的 URL 和标题

c# - Selenium 2.53.1 不适用于 FireFox 48

javascript - 在 Firefox 中生成 'custom colour dialog'

debugging - 如何在 Firefox 中调试 TCP 级别的 Web 连接?