Как заставить Firefox всегда останавливать скрипт, когда он не отвечает

22

На некоторых страницах я получаю сообщение об ошибке «Сценарий не отвечает» с возможностью его остановки и флажком никогда больше не спрашивать.

Позже я снова получаю тот же вопрос с этим бессмысленным флажком.

Как заставить Firefox всегда останавливать скрипт, когда он не отвечает?

IAdapter
источник
1
Функция запрошена на bugzilla.mozilla.org/show_bug.cgi?id=339860
Мартин Монперрус

Ответы:

10

Вы должны настроить dom.max_script_run_timeв about:configболее высокое значение.

Как отмечалось ранее, этот тайм-аут также применяется к надстройкам, использующим Javascript, поэтому он будет легко доступен на медленных компьютерах, использующих AdBlock, или даже на сайтах, насыщенных AJAX, таких как Google Docs и т. Д.

Заб
источник
Также dom.max_chrome_script_run_time .
harrymc
Правильно, ваш тайм-аут относится к расширениям ...
ЗаБ
8
Все это позволяет сценариям работать дольше, как всегда, нажимая кнопку «Продолжить» в первый раз. ОП (и я) хочет обратного: всегда нажимать кнопку «Стоп-скрипт» с первого раза.
Дэвид Нельсон
9
Это не ответ. Три разных сайта, на которых я искал ответ, каждый раз самый «полезный» ответ - избегать проблемных сценариев или увеличивать время. Зачем нужна кнопка «остановить скрипт», когда она ничего не делает (и никогда не ...)
Гленн
6
Это не отвечает на вопрос, он спрашивает о том, как заставить firefox автоматически останавливать скрипт, и не спрашивает о том, как позволить ему работать дольше
Ahm3d Said
6

Это звучит как работа для YesScript !

Это дополнение позволит вам создать черный список сайтов, которым не разрешено запускать java-скрипт. Дайте мне знать, как это работает для вас.

Ресурсы (для получения более подробной информации обратитесь к этой ссылке): Предупреждение: скрипт не отвечает

обкрадывать
источник
3
NoScript намного безопаснее.
harrymc
@harrymc Ты прав. До этого момента я никогда не читал и не слышал о NoScript. Из проведенного мною исследования, YesScript является антагонистом NoScript ... довольно хороший способ представить его в этой статье.
Роб
1
@harrymc NoScript ломает каждый веб-сайт, который вы посещаете. Это безопасно, как никогда не выходить из дома безопасно.
эндолит
NoScript утомителен, как вы должны точно настроить каждый сайт. Должен быть лучший способ делать вещи.
Джеймс П.
3

Существует большая разница между сценарием, включенным в цикл, или ожиданием сервера в Интернете. Обычно это второй случай, который вызывает ошибки «Сценарий не отвечает».

У Firefox нет возможности узнать разницу между веб-сервером, который не отвечает или просто работает медленно. Таким образом, у него есть пара тупых механизмов отключения гильотинного типа, таких как dom.max_script_run_time и dom.max_chrome_script_run_time , которые указывают, как долго он готов ждать перед отменой сценария, и любое соединение, которое он может ожидать в данный момент.

Такие механизмы очень опасны в использовании. Например, покупая товар в Интернете, сайт онлайн-платежей может реагировать медленно, поэтому Firefox просто отменит скрипт и соединение с неизвестными результатами, что касается вашего банковского счета.

Я пытаюсь сказать, что избавление от этих ошибок «скрипт не отвечает» может быть хуже, чем сами ошибки. Возможно, вам лучше использовать расширение, например NoScript, чтобы запретить весь javascript на всех посещаемых вами сайтах, кроме тех, которым вы доверяете (или, по крайней мере, запретить сторонний javascript). На самом деле это защитный механизм, который вы и все должны использовать против вирусов, передаваемых через браузер.

harrymc
источник
2

С плагином NoScript вы можете остановить / заблокировать любой скрипт на веб-странице один за другим.

Если вы знаете, какой сценарий не отвечает, вы сможете добавить его в черный список NoScript, и он никогда не будет вас беспокоить.

Dsandre
источник
0

Есть ли у вас какие-либо дополнения, такие как Noscript, Adblock, Ghostery и TACO?

Если да, то есть конфликт с этими дополнениями.

Шива Чаран
источник
Конечно, не с NoScript.
harrymc