我已经安装了 Firefox 扩展的“hello world”开发示例,如下所述: http://blog.mozilla.com/addons/2009/01/28/how-to-develop-a-firefox-extension/
我修改了传递给 gBrowser.addEventListener 的匿名函数:
gBrowser.addEventListener("load", function (event) {
var t = event.target;
alert("Content title: " + t.contentTitle);
}, false);
每次加载页面时都会调用该函数 3 次。当我单击一个链接时,它会为当前(已加载的页面)触发两次,为新页面触发一次。
我已经卸载了所有其他插件(包括 Firebug),但它仍然会触发 3 次。有谁知道为什么会这样?
谢谢理查德
最佳答案
我建议你这样做:
window.addEventListener("load", function load() {
window.removeEventListener("load",load,false); //no longer needed
window.gBrowser.addEventListener('DOMContentLoaded', function load(event) {
your_addon.init_function(event);
}, false);
在我的插件中它有效。 :-)
希望这对您有所帮助。
迈克尔
关于javascript - gBrowser.addEventListener : "load" event fired three times,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3466804/