Pregunta

Estoy intentando agregar una secuencia de comandos para la beggin de mi archivo de XBL, pero incluso la siguiente prueba no está funcionando, alguna idea de por qué?

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

- Actualización

Este bucle infinito es becouse quiero un pedazo de código para seguir funcionando. Es una comunicación con un sistema embebido.

¿Fue útil?

Solución

No hay ningún elemento de script en XBL, la documentación es falsa:

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

Otros consejos

No sé sobre XBL, pero el código tiene bucle infinito sin condición de parada. Tal cosa está fallando JavaScript.

Añadir condición de parada o "a prueba de fallos" como romper después de 100.000 iteraciones y no se congele el navegador.

También tienen ningún conocimiento acerca de XBL, pero también creo que la forma en que haya escrito esto, se bloqueará la ejecución. En las carreras momento todo sincronizado sentido, que el intérprete se detendrá en el extremo de espera while para que termine. Ahora, ya que es un bucle infinito, esto no suceda. Lo que puede hacer es la siguiente:

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

De esta manera se inicia el while en un tipo asíncrono de paso. Esto debería ser no bloqueante. Dime, si funciona.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top