IE8 Несогласованный рендеринг при перезагрузке - PullRequest
4 голосов
/ 20 марта 2009

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

<!--
  Meta tag for IE8 so that it always displays the site in IE7 Compatibility mode
 -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

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

image

This really seems like an IE8 bug to me, as I've never seen any other browser render inconstantly on a page refresh.

As anyone else noticed this?


Update!

This was cause by having CompanionJS установлен в IE8.

Ответы [ 6 ]

3 голосов
/ 08 апреля 2009

Не ответ, но так как я пока не могу комментировать ...

Я могу подтвердить это с помощью IE8 на внутреннем сайте, который я поддерживаю. Сайт всегда был нацелен на Firefox, но теперь они просят меня исправить некоторые более очевидные проблемы с IE. Сначала я добавил мета-ключ для IE7, но при обновлении страницы продолжал видеть странный рендеринг. Я подумал, что это может быть мета-ключ, поэтому я вынул его и все еще понимаю проблему.

Когда страница загружается свежо (введите в адресной строке) все выглядит отлично. Нажмите «Обновить», и возникнет несколько проблем, в том числе проблема с размерами блочной модели и упорядочиванием с плавающей запятой.

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

Тот факт, что я не могу найти другие упоминания об этом поведении, вызывает у меня некоторое беспокойство, что я делаю что-то не так - но все мои сайты работают в Firefox / Chrome / Safari для Windows и Mac и ранее работали достаточно хорошо в IE7.

0 голосов
/ 24 ноября 2009

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

У меня была надстройка для панели инструментов NuSphere PHPEd, но я удалил ее. Проблемы сохраняются. Только другие надстройки включают Adobe PDF Reader Link Helper, Уведомитель панели инструментов Google BHO, Java (tm) Plug-In 2 SSV Helper, JQSIEStartDetectorImpl Class.

0 голосов
/ 04 мая 2009

У меня почти обратная проблема - страницы, которые хорошо отображаются во всем остальном, не работают в IE8 и IE6 ... иногда. Как только они в порядке, они остаются в порядке, поэтому это также кажется проблемой кеширования, например: браузер угадывает размеры некоторых элементов перед их загрузкой, но использует реальные размеры, когда элементы находятся в кеше.

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

Просто мысль. Возможно, я лаю не на то дерево, но подумал, что упомяну это, когда увижу твой пост.

0 голосов
/ 08 апреля 2009

fwiw, я видел , что FF рендерится непоследовательно, обычно на строгих документах в формате xhtml - проверьте ваши типы документов и посмотрите, удаляет ли несоответствие несоответствие (даже если это приводит к другим проблемам, дает указатель) )

0 голосов
/ 20 марта 2009

Каким-то странным, что обновить его, что испортит его. Я понятия не имею, что это за проблема или как ее исправить. Интересно, что это делает с моим сайтом тогда? o_o Не заметил никаких проблем при первом тестировании на бета-версии IE8.

Кажется, что дивы накладываются друг на друга (по любой причине, даже если математика верна, иногда IE будет кричать на вас, если дивы приходят друг к другу плечом к плечу). Вы можете попытаться установить div контейнера заголовка (и все div контейнера, в этом отношении) на переполнение: hidden; Это обычно решает эту проблему. Вы также можете попробовать отредактировать свой список навигации (ul, а не li-s), указав ширину или установив его отображение в строку. Я сомневаюсь, что это что-то изменит, вероятно, проблема в div-контейнерах, но стоит попробовать, если ничего не поможет.

Удачи!

0 голосов
/ 20 марта 2009

Очень возможно, что это ошибка. Вы сообщили об этом?

Я предполагаю, что невозможно просто изменить веб-страницу, чтобы она работала в обоих браузерах?

...