Javascript onPageLoad在Firefox扩展开发中无法正常工作
我是Firefox扩展开发新手,正在做我的第一个程序。 我只需要在它加载页面后弹出一个警报。 我的代码是这样的:Javascript onPageLoad在Firefox扩展开发中无法正常工作,javascript,firefox-addon,xul,Javascript,Firefox Addon,Xul,我是Firefox扩展开发新手,正在做我的第一个程序。 我只需要在它加载页面后弹出一个警报。 我的代码是这样的: var myExtension = { init: function() { if(gBrowser) gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad, false); }, onPageLoad: function(aEvent) { alert("Loaded"); }
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);
但我有好几次收到警报箱。
然后我找到了关于“#文档”,然后我添加了一个IF条件:
onPageLoad: function(aEvent) {
if (aEvent.originalTarget.nodeName == '#document') {
alert("Loaded");
}
}
不幸的是,我还是得到了同样的结果。
请就此向我提供建议。这可能是一个iframe问题。要筛选出iFrame,请执行以下操作:
onPageLoad: function(aEvent) {
let ot=aEvent.originalTarget;
if (ot.nodeName == '#document' && !ot.defaultView.frameElement) {
alert("Loaded");
}
}
您可以在MDN上找到拦截Firefox插件页面加载的几种方法的说明: 选择正确的解决方案取决于您想要实现的目标
- 当某些特定页面加载时,是否要执行某些操作
- 加载任何页面时,是否要执行某些操作
- 当整个页面加载(onload)时,当 文档已就绪(ondomready)或当页面显示在Firefox中时 更改,例如切换或打开选项卡时(这需要完全 不同的方法