Вопрос

Я пытаюсь добавить скрипт к нигде с моим XBL -файлом, но даже следующий тест не выполняется, какая идея почему?

<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, но ваш код имеет бесконечную петлю без условий остановки. Такая вещь сбой JavaScript.

Добавьте условие остановки или «Fail Safe», как разрыв, после 100 000 итераций, и оно не замораживает браузер.

Я также не знаю о XBL, но я также думаю, что то, как вы написали это, это заблокирует выполнение. На данный момент все использует синхронизированное значение, что интерпретатор остановится на while Конец подождите, пока это закончится. Теперь, поскольку это бесконечная петля, этого никогда не произойдет. Вы можете сделать следующее:

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

Таким образом, вы начинаете свой while асинхронным способом. Это должно быть не блокировка. Скажи мне, если это работает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top