2010-12-13 91 views
0

我有我添加到我的XUL文件,就像一個劇本:如何在加載xul文件之前完全執行代碼?

<?xml version="1.0" encoding="UTF-8"?> 

<!-- Bindings --> 
<?xml-stylesheet href="chrome://test/content/bindings.css" type="text/css"?> 

<mywindow id="myWindowID" width="800" height="600" 
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 

    <script type="application/x-javascript" src="chrome://greenfox/content/jquery-1.4.4.min.js" /> 

</mywindow> 

mywindow構造函數(在綁定),我用我的紙條功能,被稱爲「打印」。

的問題是,有時,我的腳本不使用數據之前加載非常快,而我得到的消息

我們無法打印或打印 預覽頁面。

..這是關係到打印機的使用。

請注意我並不想使用打印機,我想用我自己的方法print(在不及時加載腳本)簡單地在屏幕上書寫。

因此,任何想法,我怎樣才能使XUL文件等到我的劇本是完全加載?

+0

嚴重的是,如果你的腳本需要很長時間來加載,那麼你就不能使用你的功能,直到它被加載。你不想凍結整個瀏覽器來加載你的腳本,是嗎? – 2010-12-13 11:55:09

+0

@Felix克林實際上,I'ts的桌面應用程序,所以有與加載時間沒有任何問題。 – 2010-12-13 12:03:10

+0

抱歉抱歉。對我來說,XUL與Firefox緊密連接,我有時會忘記,那麼你可以獨立使用它;)Nevermind! – 2010-12-13 12:07:11

回答

0

與變量「window.scriptsLoaded」和我的類構造函數等待一個循環解決吧..

-update

還,它不與while(!window.scriptsLoaded)工作,我需要使用:

function loadScripts() { 
    if (!window.scriptsLoaded) 
     setTimeout(loadScripts, 1) 
    else 
     loaded(); 
} 

所以window.scriptsLoaded可以更新每次我檢查它。我不明白爲什麼。

-update

其實,使用「onload事件」本身表現出了更好的解決方案..

相關問題