我正在尝试将脚本添加到我的XBL文件的开头,但即使以下测试也没有运行,任何想法为什么?
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script language="javascript" type="text/javascript"><![CDATA[
while(true) {
dump("OK");
}
]]></script>
</bindings>
- 更新
这个无限循环是因为我想要一段代码继续运行。这是与嵌入式系统的通信。
答案 0 :(得分:1)
Dunno关于XBL,但你的代码有无限循环而没有停止条件。这样的事情正在崩溃JavaScript。
添加停止条件或“失败安全”,例如在100,000次迭代后中断,它不会冻结浏览器。
答案 1 :(得分:0)
我也不了解XBL,但我也认为你写这个的方式,它会阻止执行。目前,一切都运行同步意义,解释器将停在while
端,等待它结束。现在,因为它是一个无限循环,所以永远不会发生这种情况。你能做的是以下几点:
window.setTimeout(function() {
while(true) {
dump("OK");
}
}, 1);
这样您就可以以异步方式启动while
。这应该是非阻塞的。告诉我,它是否有效。
答案 2 :(得分:0)
XBL中没有脚本元素,文档是假的: