Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2011, 10:27
Аспирант
Отправить личное сообщение для kidar2 Посмотреть профиль Найти все сообщения от kidar2
 
Регистрация: 05.01.2010
Сообщений: 64

IE8 предупреждение о том, что скрипт выполняется долго.
Добрый день.

Есть такой простой код:

for (var i = 0; i < 5000000; i++){
}

Его выполнение занимает около секунды, однако браузер IE8 (и ниже) выдаёт предупреждение о том, что он выполняется долго и предлагает его приостановить.
Есть, конечно, вариант через setTimout продолжать выполнение скрипта (тогда сообщения не будет), но хотелось бы какой-то более правильный способ.
Ответить с цитированием
  #2 (permalink)  
Старый 12.11.2011, 10:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Более правильный способ -- делать скрипты, которые не выполняются около секунды. Например, разделить на несколько тиков через setTimeout. Или переписать на более быструю версию.
Ответить с цитированием
  #3 (permalink)  
Старый 12.11.2011, 10:39
Аспирант
Отправить личное сообщение для kidar2 Посмотреть профиль Найти все сообщения от kidar2
 
Регистрация: 05.01.2010
Сообщений: 64

Выполнение скрипта около секунды это вполне нормально.
И потом тут дело не во времени, а в количестве выполняемых подряд операторов - в IE это число равно 5млн/
Ответить с цитированием
  #4 (permalink)  
Старый 12.11.2011, 10:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от kidar2
Выполнение скрипта около секунды это вполне нормально.
Подвисание браузера на секунду -- это ненормально.
Ответить с цитированием
  #5 (permalink)  
Старый 12.11.2011, 11:16
Аспирант
Отправить личное сообщение для kidar2 Посмотреть профиль Найти все сообщения от kidar2
 
Регистрация: 05.01.2010
Сообщений: 64

В RIA нормально.
Ответить с цитированием
  #6 (permalink)  
Старый 12.11.2011, 15:08
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

kidar2, ненормально. В течении всего этого времени ваш браузер не будет реагировать ни на какие запросы. Причём ладно - ваш, но пользователи-то причём?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #7 (permalink)  
Старый 14.11.2011, 00:18
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

может быть помогут web workers
http://y3x.ru/2011/01/webworkers/
?
Ответить с цитированием
  #8 (permalink)  
Старый 14.11.2011, 12:22
Аспирант
Отправить личное сообщение для kidar2 Посмотреть профиль Найти все сообщения от kidar2
 
Регистрация: 05.01.2010
Сообщений: 64

Сообщение от Pavel M. Посмотреть сообщение
может быть помогут web workers
http://y3x.ru/2011/01/webworkers/
?
Их нету даже в IE9, не то чтобы в IE8.
Ответить с цитированием
  #9 (permalink)  
Старый 14.11.2011, 12:23
Аспирант
Отправить личное сообщение для kidar2 Посмотреть профиль Найти все сообщения от kidar2
 
Регистрация: 05.01.2010
Сообщений: 64

Сообщение от trikadin Посмотреть сообщение
kidar2, ненормально. В течении всего этого времени ваш браузер не будет реагировать ни на какие запросы. Причём ладно - ваш, но пользователи-то причём?
Ну пусть не за секунду выполняется скрипт, а за 0,1... кол-во операций всё равно таким же будет.
Ответить с цитированием
  #10 (permalink)  
Старый 14.11.2011, 13:09
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

Сообщение от kidar2
Их нету даже в IE9, не то чтобы в IE8.
если в ie8 нет, например, поддержки css border-radius, то по вашему это никто не использует?

где нет поддержки workers - можно использовать setTimeout и разбивать на куски долгую задачу
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
О фрилансе (Личный опыт) free Оффтопик 105 18.08.2011 17:02
<= IE8 memory leak, IE9 - fine AbNormy Internet Explorer 1 20.05.2011 19:47
Подскажите, что за скрипт? Владимир Новицкий Элементы интерфейса 5 01.03.2011 20:44
Выполняется функция, а все что написано после нее игнорируется, libinstyle Элементы интерфейса 4 24.03.2010 16:44
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30