Javascript 为什么这个脚本没有运行?
我试图在XBL文件的beggin中添加一个脚本,但即使下面的测试也没有运行,你知道为什么吗Javascript 为什么这个脚本没有运行?,javascript,xbl,Javascript,Xbl,我试图在XBL文件的beggin中添加一个脚本,但即使下面的测试也没有运行,你知道为什么吗 <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="ja
<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>
--更新
这个无限循环是因为我需要一段代码来保持运行。这是一种与嵌入式系统的通信。不知道XBL,但您的代码有无限循环,没有停止条件。这样的事情正在破坏JavaScript
添加停止条件或“故障保护”,如在100000次迭代后中断,它将不会冻结浏览器。不知道XBL,但您的代码有无限循环,没有停止条件。这样的事情正在破坏JavaScript
添加停止条件或“故障保护”,如在100000次迭代后中断,它将不会冻结浏览器。我也不了解XBL,但我也认为您编写此文件的方式会阻止执行。此时,一切都在同步运行,这意味着解释器将在
结束时停止,而
将等待它结束。现在,由于这是一个无限循环,这永远不会发生。您可以执行以下操作:
window.setTimeout(function() {
while(true) {
dump("OK");
}
}, 1);
这样,您就可以以异步方式启动
,同时启动。这应该是非阻塞的。告诉我,如果它有效的话。我也不知道XBL,但我也认为你写这篇文章的方式会阻止执行。此时,一切都在同步运行,这意味着解释器将在结束时停止,而
将等待它结束。现在,由于这是一个无限循环,这永远不会发生。您可以执行以下操作:
window.setTimeout(function() {
while(true) {
dump("OK");
}
}, 1);
这样,您就可以以异步方式启动,同时启动。这应该是非阻塞的。告诉我,如果它有效。XBL中没有脚本元素,说明文件是错误的:
XBL中没有脚本元素,文档错误:
看起来这是一个XBL问题,而不是javascript问题。实际上,它从未输入和打印(使用dump()方法)字符串。看起来这是一个XBL问题,而不是javascript问题。实际上,它从未输入和打印(使用dump()方法)字符串。