Question

Je suis en train d'ajouter un script au Beggin de mon fichier XBL, mais même le test suivant ne fonctionne pas, aucune idée pourquoi?

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

- Mise à jour

Cette boucle infinie est becouse je veux un morceau de code pour continuer à fonctionner. Il est une communication avec un système embarqué.

Était-ce utile?

La solution

Il n'y a aucun élément de script dans XBL, la documentation est fausse:

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

Autres conseils

J'sais à propos XBL, mais votre code a boucle infinie sans condition d'arrêt. Une telle chose se bloque JavaScript.

Ajouter condition d'arrêt ou « fail safe », comme la rupture après 100.000 itérations et il ne gèle pas le navigateur.

Je n'ai pas non plus de connaissances sur XBL, mais je pense aussi que la façon dont vous avez écrit cela, il bloque l'exécution. Aux courses de tout instant sens synchronisé, que l'interprète s'arrête à la fin de while attendre à la fin. Maintenant, comme il est une boucle infinie, cela ne se produira jamais. Ce que vous pouvez faire est le suivant:

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

De cette façon, vous commencez votre while dans une sorte de manière asynchrone. Cela devrait être non-blocage. Dites-moi, si cela fonctionne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top