У меня есть проблема, которую я не могу найти для решения...
У меня есть страница, которая отлично отображается в родном IE7 (, а не в эмулированной из IE9/IE8 )при начальной загрузке, но возвращается к стандартному режиму IE6 при последующих запросах, которые обслуживаются из кеша браузера. IE7 знает, как обрабатывать несколько классов CSS, таких как «div.class1.class2», в то время как стандартный режим IE6 не поддерживает -, поэтому моя страница разрывается при каждом посещении, кроме первого.
Вот как это воспроизвести:
Похоже, когда все файлы поступают с серверов Amazon, IE7 прекрасно их отображает, включая правила CSS, содержащие несколько классов. (например, "div.class1.class2" )Когда вы пытаетесь перезагрузить точно такую же страницу с точно таким же кодом, она каким-то образом переключается в стандартный режим IE6 (, а не в режим Quirks ), который не не понимают связанные классы CSS и ломают несколько дизайнов, например кнопки. Я попытался добавить несколько разных заголовков Doctype/Meta, но все они не имеют значения, в настоящее время страница является действительной XHTML Strict и имеет заголовок X -UA -, совместимый с IE=edge,но по-прежнему не отображается должным образом при загрузке из кеша. Единственная разница в заголовках, которую я смог разглядеть, заключалась в отсутствующем заголовке Content -Type для запросов Not Modified, но это не должно быть проблемой, верно?
Да, и в довершение всего, когда я открываю ту же самую страницу с IE7 на моем локальном сервере разработки, она отображается просто отлично, даже после перезагрузки! :/
Обновление
Итак, я наконец смог воспроизвести это на сервере разработки. Единственное, что отличалось, это заголовок «max -age», из-за которого браузер ничего не кэшировал локально. Когда я увеличил время кеша, IE7 тоже начал кэшировать эти файлы, что снова вызвало сбой в дизайне, как только они были загружены из кеша. Таким образом, это должна быть проблема с файлами, которые обслуживаются из кеша, а не с сервера.
Обновление 2
Я сузил его до файла CSS. Кажется, что IE7 либо отображает его в режиме IE6, когда он исходит из кеша (, т.е. no Content -Введите заголовок )и в режиме IE7, когда он загружается с сервера. (Содержимое -Тип :text/css )Кто-нибудь знает, почему это так? Может быть, какие-то неправильные правила CSS? В качестве обходного пути я теперь добавляю в таблицу стилей случайный параметр для предотвращения кэширования, что не позволяет IE7 переключаться в режим IE6, но даже после удаления всех ошибок и предупреждений из таблицы стилей проблема сохраняется.