2011-01-29 143 views
0

我試圖修改一個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處理程序

+0

Doens't Firebug啓用Chrome錯誤報告什麼? – mhitza 2011-01-30 03:26:05

回答

1

打開內容窗口的問題是內容尚未開始加載,並且所有您仔細附加的事件偵聽器在其發生時都會被破壞。

一種方法是打開一個chrome瀏覽器窗口,並將它傳遞給您希望打開的頁面。然後,您可以考慮添加事件處理程序,就好像您是覆蓋物一樣。

另一種方法是繼續打開內容窗口,但使用各種方法之一來提取關聯的chrome窗口,從而爲您提供附加事件處理程序的地方。

+0

謝謝,至少我現在知道什麼是錯的。 – nusi 2011-01-31 21:25:30

相關問題