принуждение браузера IE8 отображать веб-сайт в режиме стандартов IE6 - PullRequest
9 голосов
/ 18 января 2010

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

http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx

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

Я пытался использовать режим IE5, но не работал. Есть проблемы с макетом страницы, такие как ширина, высота, полосы прокрутки и т. д. (я еще не тестировал это в IE8). в настоящее время я ищу краткосрочное решение для выпуска приложения пользователям с минимальными изменениями для обновленного браузера, и код будет изменен позже, чтобы сделать его полностью совместимым с IE8.

спасибо, Рама

Ответы [ 4 ]

5 голосов
/ 18 января 2010

Нет, режим стандартов IE6 отсутствует, поскольку Microsoft уже отказалась от режима стандартов IE6 с выпуском IE7.

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

Конечно, на самом деле ужасные веб-приложения, которые основаны на ошибках IE6, все еще существуют, поэтому угнетающее число корпораций все еще застряло в IE6, что делает весь мир хуже для всех. Было бы полезно ввести функциональность EmulateIEn в IE7, чтобы можно было сохранить совместимость с ошибками IE6. Однако никто не думал об этом в тот момент, так что он ушел навсегда, и целый ряд корпоративных обновлений Vista был прерван из-за отсутствия совместимости с IE6. Упс!

(О, дорогой. Если бы только кто-то не интегрировал IE с ОС, у нас не было бы всей этой трудности: можно было бы запустить несколько версий IE, и, следовательно, в каждой новой версии не было бы необходимости сохранять ошибки предыдущей версии. версия IE была бы меньше, быстрее, лучше, пользователи могли бы обновляться, не опасаясь потери функциональности, с большим количеством обновлений мы могли бы с большей готовностью создавать новые элементы в IE8, а MS могла бы заработать больше денег на ОС апгрейды. Забавно, как эти решения могут вас укусить, а?)

2 голосов
/ 18 января 2010

Только команда IE может действительно ответить, почему они больше не поддерживают серьезно ошибочную реализацию режима стандартов IE6. Можно только строить догадки «потому что это серьезно глючит».

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

0 голосов
/ 18 января 2010

Решение довольно простое:

Сделайте код совместимым с IE8 перед выпуском пользователю.

0 голосов
/ 18 января 2010

Нет необходимости в особой настройке для IE6, если для IE6 отображается то же самое, что и для IE5.5, поэтому, настраивая для IE5, вы автоматически устанавливаете для IE6.

Разница между IE5 и IE6реализация лучшего JavaScript (если я правильно помню), но никаких изменений в движке рендеринга сделано не было.

Первое обновление в движке рендеринга было в IE7, а в IE8 был сделан капитальный ремонт.

...