質問
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="javascript" type="text/javascript"><![CDATA[
while(true) {
dump("OK");
}
]]></script>
</bindings>
- アップデート
この無限のループは、実行を続けるコードを必要としたいからです。組み込みシステムとのコミュニケーションです。
解決
XBLにはスクリプト要素がありません。ドキュメントは偽です。
他のヒント
XBLについてはDunnoですが、コードには停止状態のない無限のループがあります。そのようなことはJavaScriptをクラッシュさせています。
停止状態または100,000回の反復後に壊れるような「フェイルセーフ」を追加すると、ブラウザがフリーズしません。
XBLについても知識はありませんが、これを書いた方法では、実行がブロックされると思います。現時点では、すべてが同期された意味を実行しています。 while
終了するのを待ちます。今、それは無限のループであるため、これは決して起こりません。あなたにできることは次のとおりです。
window.setTimeout(function() {
while(true) {
dump("OK");
}
}, 1);
このようにしてあなたはあなたを始めます while
非同期の方法で。これは非ブロッキングである必要があります。それがうまくいくかどうか教えてください。
所属していません StackOverflow