gpt4 book ai didi

javascript - firefox扩展记录每个选项卡的http请求url

转载 作者:行者123 更新时间:2023-11-28 16:15:16 24 4
gpt4 key购买 nike

我正在尝试开发一个 Firefox 扩展来记录每个浏览器选项卡/窗口的所有资源加载 url。我搜索了几个小时,但找不到将每个拦截的 http 请求与其原始选项卡相关联的方法。这是我到目前为止所拥有的。

Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.addObserver({
observe: function(aSubject, aTopic, aData) {
if ("http-on-modify-request" == aTopic) {
var url = aSubject
.QueryInterface(Components.interfaces.nsIHttpChannel)
.originalURI.spec;
alert(url);
}
}
}, "http-on-modify-request", false);

我可以获取http请求的url,但我不知道有没有办法将它链接到浏览器窗口/选项卡。

我读了MDN的文档,但没有提到这一点。 (https://developer.mozilla.org/en/XUL_School/Intercepting_Page_Loads)

有什么建议吗?

最佳答案

如果您希望仅使用 1 个(javascript)代码构建您的扩展程序,不仅适用于 Firefox,还适用于 Chrome、IE 和 Safari,我建议您使用 Crossrider .

您可以轻松实现您想要的目标。您可以使用其 onRequest API 监听所有传出请求:

appAPI.onRequest(function(resourceUrl, tabUrl) {
// Where:
// * resourceUrl contains the URL of the requested resource
// * tabUrl contains the URL of the tab requesting the resource

// Block the loading of js scripts
if (resourceUrl.match(/.*/) {
// Do what ever you need with the specific resource
// For example - save it in the extension database using appAPI.db.set()
}
});

它进入扩展程序的background.js,并允许您对每个页面/选项卡的每个加载资源执行您想要的任何操作。

关于javascript - firefox扩展记录每个选项卡的http请求url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11697580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com