如何在页面加载完成后调用函数

时间:2011-01-29 23:43:39

标签: javascript firefox-addon xul

我正在尝试修改firefox插件以满足我的个人需求。

目前我的代码是:

var wwatch = Components.classes[NS_WINDOWWATCHER_CONTRACTID].getService(nsIWindowWatcher);
var myWnd = wwatch.openWindow(wwatch.activeWindow, "http://www.google.com", "Test",
                              "width=600, height=300", null);
myWnd.addEventListener("load", function(e) { alert("inner"); }, false); // doesn't work
// myWnd.onload = function() { alert("inner"); }; // fails totally

我想在页面加载完成后显示警告框。

使用上面的代码创建窗口并加载网页。 但我没有得到警报框。 请告诉我,我是如何实现这一目标的。

我是Javascript的新手,我甚至不知道如何调试它。 Firefox的Javascript调试器没有在任何上述行中断,尽管它们显然已被执行。 我正在适应我的需求的插件是 Torrentserver Handler

1 个答案:

答案 0 :(得分:1)

打开内容窗口的问题是内容尚未开始加载,并且所有精心附加的事件侦听器都会被破坏。

一种方法是打开Chrome浏览器窗口并将其传递给您要打开的页面。然后,您可以考虑添加事件处理程序,就像您是叠加层一样。

另一种方法是继续打开内容窗口,但使用各种方法之一来提取关联的chrome窗口,从而为您提供附加事件处理程序的位置。