Как страница в IE визуально отличается между Cassini и IIS7?
Я полностью смущен - у меня есть сайт, который отлично работает в IE8 при запуске Cassini (в Visual Studio), но имеет несколько перепутанных элементов (стиль/внешний вид) при развертывании на локальном хосте и просматривается через тот же браузер (IE8).
Я запустил Beyond Compare 3 в html и CSS файлах, и они точно такие же. Существуют ли какие-либо обстоятельства, при которых IIS7 может каким-то образом отправлять дополнительную/различную информацию в браузер? Кто-нибудь сталкивается с чем-то вроде этого раньше?
Обратите внимание, что Chrome и Firefox делают одну и ту же веб-страницу просто отлично с помощью Cassini и IIS7.
(Обновить)
В каком режиме браузера и в режиме документа IE8 Developer Tools считают, что вы находитесь, если вы нажмете F12?
При запуске из Cassini (http://localhost:22120) IE8 остается в режиме IE8 (с возможностью включения просмотра совместимости IE7) и всего отлично смотрится.
При запуске из IIS7 (http://{имя машины}) IE8 автоматически переходит в представление просмотра IE8, стандарты IE7 и все выглядят ужасно.
Ответы
Ответ 1
Мое предположение (как упоминалось ранее в моем комментарии) заключалось в том, что IE работает в другом режиме рендеринга, в зависимости от того, используете ли вы IIS или Cassini, и это вызывает различия в макете. На самом деле это IE, который вызывает это, основываясь на настройках, найденных в Tools | Параметры просмотра совместимости. Есть два флажка:
Отобразить сайты интрасети в представлении совместимости - это по умолчанию отмечено.
Показать все веб-сайты в представлении совместимости - это не так.
В любом случае, вы должны использовать стандартный метатег, чтобы заставить режим, в котором вы хотите визуализировать.
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Надеюсь, что это поможет.
Ответ 2
Я думаю, что лучшее решение, которое я нашел, находится недалеко от Пола 1, но он говорит браузеру использовать версию вашего Internet Explorer, которая решает другие проблемы с содержанием = "IE = 8".
Вот он:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
Ответ 3
На самом деле у меня была такая же проблема. IE8 имеет диалоговое окно настроек совместимости в меню инструментов. Существует флажок, который указывает "Отобразить сайты интрасети в режиме совместимости".
И не то, что режим совместимости IE7 не то же самое, что использовать ie7, есть некоторые отличия.
Ответ 4
Односторонняя заметка к этой проблеме:
если одна и та же страница отображается по-разному на разных серверах, но в том же браузере IE8, проверьте свой url - IE8 автоматически отображает в режиме совместимости, если домен не полностью квалифицирован.
Ответ 5
Если содержимое страницы одинаково, сравните заголовки, которые серверы отправляют со страницей.
После того, как это немного пошло, я расскажу о режиме совместимости. Попробуйте вручную заставить IE8 отображать страницу в модуле совместимости. Если рендер не изменился, вы знаете, что проблема связана с тем, что IE выполняет эту страницу в режиме совместимости при чтении с этого веб-сервера.
Если последнее относится к http://msdn.microsoft.com/en-us/library/dd567845%28VS.85%29.aspx