我正在创建a web extension以帮助检测网站中的postMessage活动。因此,我希望在页面附加message
事件侦听器时检测到它,例如通过调用此代码:
window.addEventListener("message", ...)
显然无法获取事件侦听器列表。我的下一个想法是覆盖addEventListener
,所以我可以检测到它的调用:
window.addEventListener = function(type) {
if (type == "message") {
// do something
}
}
我无法将此代码注入页面:
如何从我的扩展程序全局覆盖window.addEventListener?或者,是否有另一种方法来检测message
事件上的事件监听器?
答案 0 :(得分:1)
要覆盖某个功能,您需要在加载页面之前运行JavaScript。您需要执行以下操作:
run_at
设置为document_start
来指定在加载文档之前运行内容脚本。script.textContent = actualCode
而非script.src = url
。