質問

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にはスクリプト要素がありません。ドキュメントは偽です。

https://bugzilla.mozilla.org/show_bug.cgi?id=58757

他のヒント

XBLについてはDunnoですが、コードには停止状態のない無限のループがあります。そのようなことはJavaScriptをクラッシュさせています。

停止状態または100,000回の反復後に壊れるような「フェイルセーフ」を追加すると、ブラウザがフリーズしません。

XBLについても知識はありませんが、これを書いた方法では、実行がブロックされると思います。現時点では、すべてが同期された意味を実行しています。 while 終了するのを待ちます。今、それは無限のループであるため、これは決して起こりません。あなたにできることは次のとおりです。

window.setTimeout(function() {
    while(true) {
        dump("OK");
    }
}, 1);

このようにしてあなたはあなたを始めます while 非同期の方法で。これは非ブロッキングである必要があります。それがうまくいくかどうか教えてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top