我正在修复一个为 Firefox 2 编写的扩展,以便与 Firefox 3 配合使用。
其中一项更改是使用:
window.getBrowser().addEventListener("load", checkURL, true);
而不是仅仅通过窗口。
唯一的问题是 load
事件似乎在每次页面加载时发生多次。我也尝试过监听 DOMContentLoaded
但结果相似。
有没有办法确保每次页面加载时只执行一次脚本?如果重要的话,我正在加载的页面是来自 https://forums.somethingawful.com 的论坛页面.
最佳答案
事实证明,加载事件可以通过加载图标等图像来触发。因此必须确保目标确实是文档:
aEvent.originalTarget.nodeName == "#document"
可以在代码片段页面上获取更多信息: https://developer.mozilla.org/En/Code_snippets/On_page_load
关于javascript - Firefox 3 扩展 JavaScript 加载时重复事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/873071/