我正在为firefox开发一种信息亭系统。因此,每次单击链接并加载新页面/文档时,我都需要监听加载事件。我在js文件中使用它来实现:
window.addEventListener('load', function () {
gBrowser.addEventListener('DOMContentLoaded', function () {
alert("load");
}, false);
}, false);
但是,如果我打开新的浏览器窗口而不是重新加载或加载其他内容,则仅触发该事件。 我该怎么办?
答案 0 :(得分:0)
您应该使用nsIWindowWatcher服务来执行此操作:
let {Services} = Cu.import("resource://gre/modules/Services.jsm", {});
function windowObserver(aSubject, aTopic, aData) {
if (aTopic == "domwindowopened") {
let win = aSubject.QueryInterface(Ci.nsIDOMWindow);
// Do stuff here
}
}
// To start watching windows do this
Services.ww.registerNotification(windowObserver);
// To stop watching windows do this
Services.ww.unregisterNotification(windowObserver);