Хватит запускать этот скрипт - PullRequest
23 голосов
/ 14 апреля 2011

Прекратить запуск этого сценария?

Сценарий на этой странице вызывает медленную работу Internet Explorer.Если он продолжит работать, ваш компьютер может перестать отвечать.

Я уверен, что все мы видели это полезное и информативное сообщение об ошибке из IE7 (или, скорее, IE8 в режиме IE7).Мне нужна помощь в удалении этого сообщения.

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

В любом случае, рассматриваемая страница содержит вкладки (с использованием jQueryUI).После загрузки страницы jQuery загружает данные для каждой вкладки, используя AJAX;вкладки загружаются одна за другой, используя очередь.В каждой вкладке есть «виджеты», которые содержат HTML и JavaScript (для каждой загрузки вкладок есть различные теги скрипта).

Я получаю ошибку «медленный скрипт» во время загрузки вкладок.Я знаю, что IE ненавидит, когда скрипты не возвращают управление браузеру.Итак, мне было интересно, есть ли способ «вернуть управление» или как-нибудь спать, чтобы IE мог «сбросить» свой медленный счетчик сценариев.

1 Ответ

22 голосов
/ 14 апреля 2011

Кто-то придумал идею здесь

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

Так как бы мы поступили об этом? Ну, самое простое решение - просто разбить вашу задачу на несколько меньших задач с setTimeout между этими задачами. Утилита (см. ссылка ) делает именно это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...