我是Firefox Extension Development的新手并且正在完成我的第一个程序。 我只需要在加载页面后弹出警报。 我的代码是这样的:
var myExtension = {
init: function() {
if(gBrowser) gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad, false);
},
onPageLoad: function(aEvent) {
alert("Loaded");
}
}
window.addEventListener("load", function load(event){
window.removeEventListener("load", load, false);
myExtension.init();
},false);
但我几次收到警报框。 然后我找到了“#document”,然后我添加了一个IF条件:
onPageLoad: function(aEvent) {
if (aEvent.originalTarget.nodeName == '#document') {
alert("Loaded");
}
}
不幸的是,我仍然得到了同样的结果。 请告诉我这个。
答案 0 :(得分:0)
这可能是一个iframe问题。过滤掉iframe:
onPageLoad: function(aEvent) {
let ot=aEvent.originalTarget;
if (ot.nodeName == '#document' && !ot.defaultView.frameElement) {
alert("Loaded");
}
}
答案 1 :(得分:0)
您可以在MDN上找到拦截来自Firefox插件的页面加载的几种方法的说明: https://developer.mozilla.org/en/XUL_School/Intercepting_Page_Loads
选择正确的解决方案取决于您想要实现的目标。