Ошибка: попытка выполнить команду compile-and-go script в очищенной области
С момента обновления до Firefox 4.0 я заметил, что иногда я получаю сообщение об ошибке в консоли:
попытаться выполнить команду compile-and-go script в очищенной области
Единственная информация, которую я могу найти об этом в сети в настоящее время, находится на форуме mozilla groups, где предлагается что-то сделать с восстановлением сеанса. В моем случае, хотя я не смог достоверно воспроизвести ошибку, это происходит в любое время, а не только после восстановления.
Какая сделка? Как остановить ошибку?
Ответы
Ответ 1
Для меня (Firefox 11, Firebug 1.9.1) это происходит иногда после обновления страницы (либо F5, либо CTRL + F5), когда отладчик приостановлен на контрольной точке.
Похоже, что решение продолжить выполнение script и обновить страницу только тогда, когда Firebug не приостановлен.
Ответ 2
В моем случае это был метод document.write
, вызывающий проблему в Firefox 4, 5, 6 в Windows. Недопустимы версии Linux. Я должен был перезаписать метод document.write
.
Я знаю, что document.write
не следует использовать в наши дни, но deployJava.js
используется стандартное развертывание Java Applet script, написанное 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>
Надеюсь, это поможет. Тем не менее, я видел множество "решений" в Интернете, которые не работали для меня. Это может означать, что "попытка выполнить компиляцию и прогон script в очищенной области видимости" - проблема/ошибка JavaScript JavaScript JavaScript.
Ответ 3
Я заметил, что эта ошибка может произойти, если вы напишете документ с document.write после того, как документ завершил загрузку (например, в функции, вызванной методом JQuery $(document).ready()). Когда это происходит, кажется, что Firefox отбрасывает старый документ и пишет новый. Я не знаю, если это новое поведение или нет. Кажется, что когда вы пытаетесь работать с старым документом, например, с селекторами JQuery вы получаете эту ошибку. Для меня, исправление script в вопросе, чтобы не вызвать document.write после того, как документ загрузил исправленную ошибку.
Ответ 4
Я заметил, что если я отключу кеш, я больше не буду получать эту ошибку в консоли.
Ответ 5
Ошибка не возникает, если Firebug (в моем случае 1.8) отключен.
Ответ 6
Проверьте код для дублированного управления мета-кешем и удалите один из них:
<meta http-equiv="cache-control" content="no-cache" />
Ответ 7
У меня тоже была эта проблема, но я сделал чистую переустановку FireFox.
после этого ошибка исчезла.
Ответ 8
Я получил эту ошибку, когда я попытался добавить события в элементы, добавленные из одного домена iframe. Добавлен clone() и остановлены ошибки.
Ответ 9
Это не имеет ничего общего с firebug. Причина, по которой он "уходит", когда отключен firebug, заключается в том, что вы больше не видите исключение. Причина этого заключается в том, что обработчик привязан к событию, которое теперь является нулевым, но неправильно очищено. Вы должны убедиться, что обработчик правильно удален, иначе событие все еще вызывает ссылку на обработчик.
Ответ 10
Это: menu Firebug → Console → Показать ошибки Chrome
выключить, конец истории;)