Резюме
jquery используется для получения результатов поиска с помощью вызова get (). При рендеринге большей части результатов проблем нет, но затем при рендеринге части результатов IE7 постоянно зависает на 5-30 секунд перед рендерингом.
Задача
Вызов get()
в jquery успешно выполняется. В данных нет eval()
, или urlencode, или декодирования, так как данные в формате html. Большая область содержимого заменяется данными через
$('#content').html(data);
Внутри #content
есть пара скрытых элементов, содержащих контент, который нужно перенести в другое место за пределами #content
. (это результаты поиска, полученные с помощью ajax, и крошка должна быть обновлена в другом разделе)
$('#breadcrumb').html($('#content #breadcrumbcontainer').html());
Вышеописанное работает очень хорошо в Firefox и других браузерах.
Тестирование на компьютере Vista с IE 7.0.6001.18000 без отладчика сценариев было быстрым и нормальным во всех случаях.
Тестирование на XP с 7.0.5730.11 с отладчиком сценариев MS в ряде случаев было медленным. На данный момент я могу только догадываться - похоже, это как-то связано с
- устанавливается отладчик сценариев
- неверный строгий XHTML
- вызвано неясным временем - исправление, которое я видел, предложило использовать
setTimeout()
- возможно, нужна очередь jquery?
- некоторая комбинация вышеперечисленного
Может быть предоставлено больше кода, но это действительно сбивает с толку, что производительность настолько плохая (30 секунд рендеринга), когда она равна 1 секунде в IE7 без отладчика сценариев.
Любые предложения относительно причины, очевидно, будут оценены.
- обновление -
Теперь tskmanager показывает загрузку процессора для iexplorer.exe в режиме ожидания.
Просто зависает, как будто есть тайм-аут.
- обновить два -
Было подтверждено, что IE7 без отладчика скриптов Microsoft, что IE7 работает медленно
Диапазон: от 4 секунд до 2:19
Среднее: 33 секунды
Медиана: 18 секунд
Стандартное отклонение: 37 секунд