我正在 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/