Internet Explorer 8 ожидает, пока страница полностью не будет отображена и JavaScript не будет выполнен - PullRequest
5 голосов
/ 07 июня 2010

У нас довольно большая веб-страница с кучей javascript. При загрузке в Firefox / Chrome страница загружается постепенно. Сначала визуализируется и отображается уже полученный html, а затем исполняется JavaScript.

Internet Explorer 8, однако, ожидает, пока запрос не будет полностью получен и его JavaScript не будет выполнен, прежде чем он отобразится. Это создает впечатление, что приложение не отвечает в течение короткого периода.

У нас есть один ноутбук, на котором IE8 загружает страницу, например Firefox / Chrome, и мы искали настройку в IE8, чтобы указать, что ему не нужно ждать, пока весь javascript будет выполнен, прежде чем показывать страницу или часть это.

У кого-нибудь есть подсказка, есть ли такая настройка и где ее можно найти? Мы проверили, что рамка Chrome для Internet Explorer не установлена.

Обновление: Для большей ясности, как отмечает @Thariama в комментариях, я также подумал, что IE8 всегда ожидает рендеринга всей страницы, но, видя, как этот ноутбук рендерит его, я уверен, что он загружает «Firefox-way». Ноутбук имел половину оперативной памяти и ресурсов процессора, сравнимых с настольным компьютером, и выглядел и чувствовал себя быстрее (из-за рендеринга).

Ответы [ 3 ]

1 голос
/ 15 июня 2012

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

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

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    ...

Причина, по которой это происходило, заключается в том, что при загрузке с локального хоста IE выполнял рендеринг с движком IE8 в стандартном режиме.При загрузке из интрасети IE по умолчанию выполнял рендеринг в режиме совместимости с использованием механизма IE7.Механизм IE7 приостанавливается до тех пор, пока вся таблица не будет загружена перед рендерингом, но механизм IE8 будет визуализировать таблицу постепенно.

Чтобы проверить, в каком режиме находится IE для конкретной страницы, нажмите F12, чтобы вызвать инструменты разработчика.и в области меню есть «Режим браузера», который сообщает вам, какой механизм рендеринга он выбрал, и «Режим документа», который указывает режим причуд или стандартный режим.

0 голосов
/ 15 мая 2016

Недавно мне было поручено решить проблему с отображением страницы IE8 в устаревшем веб-приложении (без значительного изменения кода на стороне сервера).Я обернул самые большие разделы страницы в элементы textarea (на стороне сервера) и использовал JavaScript для извлечения их содержимого, удаления textareas и вставки html, где находится textarea ... это сработало хорошо ... даже кажетсябыстрее загружаться в современных браузерах.

0 голосов
/ 07 июня 2010

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

Это часть IE, люди, которые живут в невежестве, привыкли к этому, они не будут щелкать мышью.

Не столько решение вашей проблемы, которого, вероятно, нетговорю вам, что это не так уж много проблем.Я не думаю, что есть способ дать браузеру инструкции по настройке его модели рендеринга для вас, хотя и не должно быть, пользователи должны иметь возможность корректировать модели рендеринга, но не сайты.Эти вещи являются воротами для вируса.

...