我正在尝试构建一个插件,该插件将观察和收集页面上收到的 XHR 和图像响应,并使它们可用于页面脚本(在该页面上)以供进一步检查。
在我的“http-on-examine-response”观察者代码中,我将感兴趣的 URL 推送到它们关联窗口的数组中,推送到对象中,如下所示 -
myWindowId = resp.outerWindowID+'-'+resp.currentInnerWindowID;
storedResponses[myWindowId].push(subject.URI.spec);
(我认为这种方法可能比使用标签引用来识别唯一的源窗口更好)
当任何页面发出请求时,相关数组会自动更新。
我希望能够随时从页面脚本或书签中查询相关数组。
我应该在页面/书签、内容脚本和扩展之间设置 port.on... 或 postMessage() 通信,还是使用 pageMod 将适当的数组直接写入相关页面上的 unsafeWindow 全局对象?
一旦观察到新的响应,我就无法弄清楚如何让 pageMod 将特定数组写入特定页面。
完整源代码在这里 - https://builder.addons.mozilla.org/addon/1064905/latest/
我认为这一切正常,除了将数据返回到页面。