我正在创建 a web extension帮助检测网站中的 postMessage 事件。因此,我想在页面附加 message
时检测它。事件监听器,例如通过调用以下代码:
window.addEventListener("message", ...)
显然不可能获得事件监听器的列表。我的下一个想法是覆盖
addEventListener
,所以我可以检测到对它的调用:window.addEventListener = function(type) {
if (type == "message") {
// do something
}
}
我无法将此代码注入(inject)页面:
如何从我的扩展程序全局覆盖 window.addEventListener?或者,是否有另一种方法可以检测
message
上的事件监听器?事件?
最佳答案
要覆盖函数,您需要在页面加载之前运行 JavaScript。您需要执行以下操作:
run_at
指定在加载文档之前运行内容脚本至document_start
. script.textContent = actualCode
而不是 script.src = url
. 关于javascript - 从浏览器扩展覆盖 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48809691/