Разбор очень больших строк JSON в IE вызывает проблемы - PullRequest
1 голос
/ 06 сентября 2011

Я анализирую 2-мегабайтную строку JSON в IE8. Строка JSON.Parse занимает некоторое время, чтобы вернуться, и IE8 показывает сообщение, спрашивающее пользователя, хотят ли они прервать сценарий.

Можно ли как-то подавить это сообщение? (или как-то ускорить JSON.Parse)

Я знаю о Microsoft KB175500 , однако это не подходит, поскольку мои целевые пользователи не будут иметь прав администратора для внесения изменений в реестр на своих компьютерах SOE.

Ответы [ 2 ]

3 голосов
/ 06 сентября 2011

У меня был такой же вопрос.Очевидно, нет способа подавить сообщение, но есть хитрости, которые заставляют IE думать , что он все еще работает, используя асинхронный шаблон итерации (неработающая ссылка, смотрите комментарии ниже).

Это связано с ответом на один из моих вопросов: цикл слишком медленный для IE7 / 8

0 голосов
/ 06 сентября 2011

Если браузер недоволен тем, сколько времени занимает анализатор JSON, я знаю только четыре варианта:

  1. Получите более быстрый анализатор JSON, который не займет так много времени.
  2. Разбейте ваши данные JSON на более мелкие части, чтобы вы сразу анализировали только меньшие фрагменты.
  3. Измените анализатор JSON для работы с блоками, чтобы он мог анализировать часть данных в одном блоке, а затемв короткий промежуток времени проанализируйте следующий фрагмент и т. д. ... Это предотвратит приглашение браузера, но, вероятно, потребуется много работы для написания / изменения синтаксического анализатора JSON, который работает таким образом.
  4. Если вы можетеесли вы уверены, что содержимое безопасно, то вы можете убедиться, что использование eval вместо JSON-анализатора решает эту проблему.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...