2010-12-13 93 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事件”本身表现出了更好的解决方案..

相关问题