由于较新版本的 Safari(我运行的是 5.2 版)似乎已经从“窗口”菜单中删除了“事件”查看器,因此我想编写一个扩展程序来恢复此功能。但是,为了做到这一点,我认为我需要能够看到在该窗口/选项卡中请求的 URL。对于 Chrome,有一个 "webRequest" API这样做,但我似乎无法在 Safari 中找到我要找的东西。有人可以告诉我这是否可行吗?如果可以,我接下来应该看哪里?提前致谢。
到目前为止,我能得到的最多的是使用如下所示的注入(inject)启动脚本:
function trackRequests() {
console.log(event.timeStamp + ": " + event.type, event.url, event);
}
document.addEventListener("beforeload", trackRequests, true);
但是,这不足以提供我为此所需的功能。例如,如果指定的 URL 没有协议(protocol),例如"//example.com/file.txt"这就是这个处理程序所看到的;它不知道实际使用的协议(protocol)是什么,也不知道请求是否被允许。
看起来 some people on the Apple discussion forums , MacDailyNews , 和 ArsTechnica已经表示希望在 Safari 中也恢复此功能。 Here's a link to another discussion on MacRumors.com和 another .
最佳答案
在 Windows 上,我会使用 Fiddler,但由于您似乎使用的是 Mac,这里有一些替代方案:
http://alternativeto.net/software/fiddler/?platform=mac
希望这对您有所帮助!
干杯!
关于javascript - 是否可以监控 Safari 扩展中的所有网络流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567689/