Domanda

Sto cercando di aggiungere uno script al Beggin del mio file XBL, ma anche il seguente test non è in esecuzione, qualche idea del perché?

<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>

- update

Questo ciclo infinito è siccome voglio un pezzo di codice per continuare a correre. Si tratta di una comunicazione con un sistema embedded.

È stato utile?

Soluzione

Non v'è alcun elemento script nel XBL, la documentazione è falso:

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

Altri suggerimenti

Boh su XBL, ma il vostro codice ha loop infinito senza condizione di arresto. Tale cosa si blocca JavaScript.

Aggiungi condizione di arresto o "fail safe" come rompere dopo 100.000 iterazioni e non si blocca il browser.

Ho anche non hanno alcuna conoscenza di XBL, ma penso anche che il modo in cui è stato scritto questo, bloccherà l'esecuzione. Al momento tutto viene eseguito sincronizzato senso, che l'interprete si fermerà alla fine while attesa che finisca. Ora, come si tratta di un ciclo infinito, questo non accadrà mai. Che cosa si può fare è il seguente:

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

In questo modo si avvia il while in un tipo asincrono di strada. Questo dovrebbe essere non bloccante. Dimmi, se funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top