2010-03-18 60 views
0

我一直在研究js/html中的一些代碼,它工作得很好。我現在試圖將它打包成一個Firefox附加組件,並且有一些問題使XUL文檔正確。從頁面加載後的XUL調用初始化(Firefox附加組件)

普通的老HTML/JS

<head></head>之間我的HTML測試文件,我有:

<script type="text/javascript" src="js/MyCode.js"></script> 

在測試文件的</body>月底前,我有:

<script type="text/javascript">MyCode.Static.Init();</script> 

FIREFOX附加組件:OVERLAY.XUL

在擴展包的overlay.xul文件我有:

 <?xml version="1.0"?> 
    <overlay id="mycode" 
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
     <script type="application/x-javascript" src="chrome://mycode/content/MyCode.js"></script> 
     <script> 
window.addEventListener("load", function() { gBrowser.addEventListener("load",MyCode.Static.Init,true); }, false); 
     </script> 
    </overlay> 

這似乎並沒有進入的方法,但我還是那句話甚至不知道我是否已經得到了聽衆射擊正常。這是否是正確的方式來複制我在純HTML/js中做的事情?

回答

-1

如何:

<script> 
    window.addEventListener("load", function() { MyCode.Static.Init(); }, false); 
</script> 

+1

如預期那樣不起作用,創建一個新的瀏覽器窗口時偵聽器只觸發,而不是一個新的頁面。在瀏覽器中加載EVERY頁面後,需要了解如何調用init。 – citizencane 2010-03-18 17:44:14

0

您確定gBrowser已準備好嗎? 正如一個全面的檢查,腳本標籤更改爲

alert(gBrowser); 

確保gBrowser已準備就緒。

0

這是正確的:

gBrowser.addEventListener( 「負載」,函數(){MyCode.Static.Init();},假);

相關問題