Тестирование IE7 и IE8 с использованием инструментов разработчика IE9 - Правильный ли режим документа для копирования старых версий? - PullRequest
2 голосов
/ 27 июня 2011

Я создаю сайт с элементами HTML5 и предпочел бы, чтобы предыдущие версии IE играли вместе, поэтому я использую JavaScript-код HTML5shim из googlecode.

Единственный способ проверить IE7 и IE8 - это использовать инструменты разработчика на IE9 для переключения режима браузера и режима документа.

Даже при использовании shim, если я выбираю режим браузера IE7 или IE8 и соответствующий им режим стандартов, документ довольно далеко ушел - элементы HTML5 не ведут себя как div (у меня сложилось впечатление, что shim заменяет все новые элементы с divs).

Если я выберу режим причуд для IE7 и IE8, сайт будет выглядеть более или менее так, как должен, что дает мне надежду, что я смогу исправить любые оставшиеся проблемы, не прибегая к удалению элементов HTML5.

Так что, если вы используете IE7 или IE8 с типом документа HTML5, они будут работать в причудах или стандартах?

Кроме того, могу ли я верить, что то, что я вижу в IE9, эмулирующем старые версии, это то, что на самом деле увидит пользователь старых браузеров?

Ответы [ 4 ]

6 голосов
/ 27 июня 2011

Я собираюсь высунуть свою шею и сказать НЕТ.Вы не можете доверять IE9, эмулирующему старые версии.

Недавно я столкнулся с некоторыми проблемами, касающимися IE9, эмулирующими IE8 с использованием X-UA-совместимого IE = EmulateIE8 для принудительной визуализации IE8 через IIS.Я должен сказать, что все было хорошо, пока я не обновился до Jquery 1.6.1 с Jquery 1.4.3.У меня начались странные проблемы с Jquery при выборе объектов DOM с использованием $("#myObject");

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

Обновление

Я пошел по пути VM, гораздо проще протестировать IE8, чтоКстати, все, что я сделал, это установил виртуальную машину с установленным IE8.

4 голосов
/ 27 июня 2011

Не забудьте установить display:block для этих элементов. Правило типа:

article, aside, figure, footer, header, hgroup, nav, section {display: block;}

В вашем CSS поможет.

4 голосов
/ 27 июня 2011

Режимы совместимости в IE8 и IE9 предназначены для того, чтобы позволить вам делать именно то, что вы просите - протестировать свой сайт на все версии IE, при этом на вашем компьютере установлена ​​только одна версия IE.

Это отличная идея в принципе. К сожалению, Microsoft все испортила. Хотя режимы совместимости действительно дублируют IE7 и IE8, они также имеют свои собственные ошибки и проблемы, которые не возникают ни в родительском браузере, ни в браузере, который они пытаются эмулировать.

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

Вы также спрашивали о режиме причуд и режиме стандартов. Обратите внимание, что «режим причуд» не имеет ничего общего с режимом совместимости.

Режим Quirks запускается в IE сайтом, у которого нет объявления <!DOCTYPE> в верхней части страницы. Это было введено, когда в IE6 появился стандартный режим, позволяющий сайтам работать в более старых версиях IE. Следовательно, режим Quirks фактически является режимом совместимости IE5. Сегодня нет абсолютно никакой причины использовать режим причуд на любом сайте, поэтому вы всегда должны указывать тип документа (предпочтительно тип документа HTML5). Если ваш сайт выглядит хорошо в режиме причуд, а не в стандартном режиме, то вам нужно исправить сайт.

Тип документа HTML5 <!DOCTYPE html> активирует режим стандартов во всех версиях IE, начиная с IE6 и выше. Фактически, этот тип документа был специально выбран группой стандартов HTML5 специально, потому что это был самый короткий из возможных типов документов, который будет работать во всех существующих браузерах.

О HTML5Shim: у меня возникли некоторые проблемы с настройкой основного shim. Я никогда не выявлял проблему, но решил ее, используя взамен Modernizr . Он имеет те же функциональные возможности, что и базовая прокладка, а также множество других полезных функций для проверки совместимости браузера.

Ваше представление о том, что делает прокладка, немного неправильное: оно не заменяет элементы элементами div. На самом деле он создает фиктивные версии каждого из новых элементов HTML5, используя Javascript. Это использует причуду в IE, при которой он распознает элемент как действительный HTML, если его экземпляр был создан с помощью Javascript. (Это странная причуда, но хакерам оказалось полезно заставить IE принять современные стандарты.

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

0 голосов
/ 05 января 2013

Мой ответ на тестирование ie7 / ie8 / ie9 - использовать VirtualBox от Sun Oracle. Отлично работает на Windows, Mac и Ubuntu! Он содержит реальные изображения окон Windows и версий IE.

https://www.virtualbox.org/wiki/Downloads

http://osxdaily.com/2011/09/04/internet-explorer-for-mac-ie7-ie8-ie-9-free/

Это было невероятно полезно для меня при тестировании старых версий.

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