Рендеринг веб-страниц по-разному IE8 / Vista и IE8 / Win7 - что попробовать дальше - PullRequest
0 голосов
/ 22 июня 2011

Мой сайт, построенный на WordPress, имеет строгий код XHTML 1.0 и CSS3. Он проверяет, кроме тегов сценария, не включенных в CDATA, и не закрытых тегов
, а также тегов, найденных в jquery-ui.css

Сайт работает на домене www.example.com, а сайт разработки на www-dev.exampledev.net. Обе установки имеют одинаковый код.

В IE8 в Win7 оба сайта отображаются одинаково для сайтов www и www-dev.

Хотя в IE8 в Vista сайт www-dev отображается правильно, но на сайте www есть проблема с размещением главной страницы навигации - существует пробел, которого не должно быть.

У меня нет доступа к блоку IE8 Vista, поэтому я не могу легко посмотреть на код с помощью IE, эквивалентного инструментам FF для веб-мастеров

Есть предложения, как с этим бороться? Мне интересно, если это не та проблема, как эта:

Странная проблема рендеринга, возникающая только в IE8

Ответы [ 2 ]

1 голос
/ 22 июня 2011

Я полагаю, что одна из ваших копий IE8 находится в режиме совместимости с IE7.

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

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

Чтобы узнать, происходит ли это, откройте окно инструментов разработчика (нажмите F12).Режим рендеринга отображается в верхней части этого окна справа.

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

Так почему же IE делает это?Существует параметр конфигурации, который указывает IE8 использовать режим совместимости «для сайтов интрасети».То есть сайты в локальной сети.Идея заключается в том, что корпоративные пользователи могут иметь интранет-приложения, которые были разработаны для более ранних версий IE и не могут быть обновлены.Это позволяет им обновлять IE, все еще используя эти приложения для себя.Это было бы отличной идеей, если бы не две ошибки: во-первых, все эти корпорации застряли на IE6, а режим совместимости - только для IE7.А во-вторых, режим совместимости на 100% не идентичен реальному IE7;у этого есть ошибки и его собственные причуды.Так что это немного своей цели.Но он есть, и вам нужно знать об этом.

Так как же нам обойти это?Первый ответ - отключить настройку конфигурации.К сожалению, для большинства из нас мы не можем диктовать это вашим пользователям, поэтому полное решение состоит в том, чтобы использовать метатег, придуманный Microsoft специально, чтобы помочь разработчикам обойти эту проблему.Добавьте следующее в ваш HTML-заголовок, и проблема должна исчезнуть:

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

Надеюсь, это поможет.

0 голосов
/ 22 июня 2011

Взгляните на this , чтобы узнать, используете ли вы какие-либо селекторы и т. Д., Которые недоступны в IE8, тогда мы можем найти обходной путь для IE8:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...