Ошибка: попытка запустить скрипт compile-and-go в очищенной области - PullRequest
67 голосов
/ 25 марта 2011

После обновления до Firefox 4.0 я заметил, что иногда получаю сообщение об ошибке в консоли, в котором говорится:

попытка запустить скрипт compile-and-go в очищенной области действия

Единственная информация, которую я могу найти об этом в сети в настоящее время, находится на форуме mozilla groups , где предполагается, что это как-то связано с восстановлением сессии.В моем случае, хотя я не смог надежно воспроизвести ошибку, это происходит в любое время, а не только после восстановления.

В чем же дело?Как мне остановить ошибку?

Ответы [ 10 ]

9 голосов
/ 02 апреля 2012

Для меня (Firefox 11, Firebug 1.9.1) иногда это происходит после того, как я обновляю страницу (F5 или CTRL + F5), когда отладчик находится на паузе на точке останова.

Решение, по-видимому, состоит в том, чтобы продолжить выполнение сценария, и обновляет страницу только тогда, когда Firebug не приостановлен .

7 голосов
/ 17 августа 2011

В моем случае это был метод document.write, вызывающий проблему в Firefox 4, 5, 6 в Windows.Версии Linux не затрагиваются.Мне нужно было переписать метод document.write.

Я знаю, что document.write не следует использовать в наши дни, но deployJava.js, стандартный сценарий развертывания Java-апплета, написанный Sun / Oracle,использует это.Google использует его в объявлениях Google AdSense.document.write везде.

<script>
    var documentWriteOutput = '';
    var got = document.write;
    document.write = function(arg) { documentWriteOutput += arg; }
</script>
<script src="badScriptThatIsUsingDocumentWrite.js"></script>
<script>
    runBadScriptThatIsUsingDocumentWrite();
    document.write = got;
    // Do whatever you want with the documentWriteOutput
    // e.g. $('#somewhere').html(documentWriteOutput);
</script>

Надеюсь, это поможет.Тем не менее, я видел много «решений» в Интернете, которые не работали для меня.Это может означать, что «Попытка запустить скрипт compile-and-go в очищенной области» - это проблема / ошибка движка Firefox JavaScript.

6 голосов
/ 09 августа 2011

Я заметил, что эта ошибка может произойти, если вы запишите в документ с помощью document.write после того, как документ завершит загрузку (например, в функции, вызываемой из метода $ (document) .ready () JQuery).Когда это происходит, кажется, что Firefox отбрасывает старый документ и пишет новый.Я не знаю, это новое поведение или нет.Кажется, что когда вы пытаетесь работать со старым документом, например, с помощью селекторов JQuery, вы получаете эту ошибку.Для меня исправление рассматриваемого скрипта, чтобы он не вызывал document.write после загрузки документа, исправило ошибку.

5 голосов
/ 06 мая 2011

Я заметил, что если я отключаю кеш, я больше не получаю эту ошибку в консоли.

2 голосов
/ 31 июля 2011

Ошибка не возникает, если Firebug (в моем случае 1.8) отключен.

1 голос
/ 15 июня 2012

Это не имеет ничего общего с firebug. Причина, по которой он «уходит», когда firebug отключен, заключается в том, что вы больше не видите исключение. Причиной этого является привязка обработчика к событию, которое теперь является нулевым, но не очищено должным образом. Вы должны убедиться, что обработчик утилизирован правильно, в противном случае событие все равно вызывает ссылку на обработчик.

1 голос
/ 01 декабря 2011

Я получил эту ошибку, когда попытался добавить события в элементы, добавленные из одного и того же домена iframe.Добавлен clone () и ошибки прекратились.

1 голос
/ 15 ноября 2011

У меня тоже была эта проблема, но я сделал чистую переустановку FireFox.

после этого ошибка исчезла.

1 голос
/ 20 июля 2011

Проверьте ваш код на наличие дублированного мета-кеша и удалите один из них:

<meta http-equiv="cache-control" content="no-cache" />
0 голосов
/ 21 июня 2012

Это: меню Firebug -> Консоль -> Показать ошибки Chrome

выключить, конец истории;)

...