Режим совместимости
Режим совместимости — это программный механизм, в котором программное обеспечение либо эмулирует более старую версию программного обеспечения, либо имитирует другую операционную систему , чтобы позволить старому или несовместимому программному обеспечению или файлам или программным обеспечением компьютера оставаться совместимыми с новым аппаратным . Примерами программного обеспечения, использующего этот режим, являются операционные системы и Internet Explorer .
Операционные системы [ править ]
Режим совместимости компьютера в операционной системе — это программный механизм, в котором операционная система эмулирует более старый процессор , операционную систему и/или аппаратную платформу, чтобы позволить старому программному обеспечению или программным обеспечением компьютера оставаться совместимым с новым аппаратным .
Это отличается от полноценного эмулятора тем, что эмулятор обычно создает виртуальную аппаратную архитектуру в хост-системе, а не просто переводит вызовы функций старой системы в вызовы, понятные хост-системе.
Примеры включают классический режим в Mac OS X и режим совместимости в Microsoft Windows , которые позволяют запускать приложения, разработанные для более старых версий операционной системы. Другие примеры включают Wine для запуска программ Windows в Linux /OS X и Mono для запуска программ .NET в различных Unix-подобных системах.
Интернет Эксплорер [ править ]
«Просмотр совместимости» — это функция режима совместимости веб-браузера Internet Explorer версии 8 и более поздних версий. Когда режим совместимости активен, режим совместимости заставляет IE отображать веб-страницу в режиме совместимости, как если бы страница просматривалась в IE7. [1] [2] Если представление совместимости не активировано, считается, что IE работает в собственном режиме. В IE11 пользователь может включить режим совместимости для веб-сайта, щелкнув значок Gears и выбрав «Настройки просмотра совместимости».
IE8+ [ править ]
Internet Explorer 8 рекламировался Microsoft как более строго соответствующий веб-стандартам, описанным W3C, чем Internet Explorer 7 . В результате, как и в каждой предыдущей версии IE, некоторый процент веб-страниц, закодированных с учетом поведения старых версий, в IE8 ломался. Это было бы повторением ситуации с IE7, который, хотя и исправил ошибки IE6, сломал страницы, на которых использовались хаки, специфичные для IE6, для обхода его несоответствия. Это было особенно проблемой для автономных HTML-документов, которые не подлежали обновлению (например, хранились на носителе только для чтения, таком как CD-ROM или DVD-ROM).
Чтобы избежать этой ситуации, в IE8 реализована форма таргетинга версий , при которой страница может быть создана для определенной версии браузера с помощью X-UA-Compatible
объявление либо в виде мета-элемента , либо в заголовках HTTP . [3]
Чтобы обеспечить обратную совместимость, сайты могут выбрать обработку контента, подобную IE7, вставив на веб-страницу специально созданный мета-элемент , который запускает режим совместимости в браузере, используя: [4]
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Более новая версия браузера, чем та, для которой была закодирована страница, будет имитировать поведение более старой версии, так что предположения, сделанные страницей о поведении браузера, остаются верными.
Microsoft предположила, что страница с типом документа , который запускает стандартный режим (или почти стандартный режим) в IE7, по умолчанию будет запускать поведение, подобное IE7, называемое «стандартным режимом» (теперь называемым «строгим режимом») в IE8 и будущих версиях ИЕ. Новые функции IE8 позволяют запускать то, что Microsoft назвала «режимом стандартов IE8» (теперь называемым «режимом стандартов»). Типы документов, которые запускают режим совместимости в IE7, будут продолжать делать это и в IE8.
Питер Брайт из Ars Technica заявил, что идея использования метатега для выбора конкретного режима рендеринга принципиально не соответствует сути разработки на основе стандартов, но позиционировал проблему как проблему идеализма и прагматизма в веб-разработке, отмечая, что не все веб-технологии поддерживается, и что «требовать, чтобы веб-разработчики обновляли сайты, чтобы гарантировать, что они продолжают работать правильно в любой будущей версии браузера, вероятно, слишком многого». [5]
В результате IE 8 Beta 1 смог отображать три режима: «Причуды», «Строгий» и «Стандартный». Когда есть старый DOCTYPE или когда DOCTYPE отсутствует, IE отображает его так же, как это сделал бы IE5 (режим совместимости). Когда специальный мета-элемент или соответствующий ему HTTP-заголовок включен в веб-страницу, IE8 отобразит эту страницу так же, как это сделал бы IE7 (строгий режим). В противном случае IE8 отображает страницы с помощью собственного механизма (стандартный режим). Пользователи могут переключаться между тремя режимами несколькими щелчками мыши. [6] Выпуск Internet Explorer 8 Beta 1 показал, что многие веб-сайты не работают в этом новом стандартном режиме.
Microsoft ведет список веб-сайтов, о которых сообщалось о проблемах в стандартном режиме IE8, известный как список просмотра совместимости. Когда пользователь включает этот список, IE8 будет отображать веб-сайты в списке, используя режим просмотра совместимости. [7] Список время от времени обновляется, в него добавляются новые проблемные веб-сайты, а также удаляются веб-сайты, владельцы которых потребовали удаления. Команда Internet Explorer также проверяет веб-сайты из списка на наличие проблем совместимости и удаляет те, где их нет. [8]
См. также [ править ]
- Режим Windows XP
- Устаревший режим
- Обратная совместимость
- Режим причуд
- Файл информации о программе (PIF)
Ссылки [ править ]
- ^ «2.1.2.5 Просмотр совместимости» . [MS-IEDOCO]: Обзор документации по поддержке стандартов Internet Explorer . Майкрософт. 2015.
- ^ «Устранение проблем с отображением сайта с помощью режима совместимости» . Microsoft Windows: как это сделать . Майкрософт . Проверено 29 июля 2015 г.
- ^ Аарон Густафсон (21 января 2008 г.). «За пределами DOCTYPE: веб-стандарты, прямая совместимость и IE8» . Проверено 22 марта 2007 г.
- ^ MSDN «Что нового в Internet Explorer 8». Архивировано 18 апреля 2008 г. на Wayback Machine .
- ^ Питер Брайт (24 января 2008 г.). «Мудрость и глупость: режим суперстандартов IE8 работает в обе стороны» . Арс Техника . Проверено 21 марта 2008 г.
- ^ Мэри Джо Фоли. «В IE 8 появятся веб-фрагменты и действия» . CNet Блоги . Проверено 5 марта 2007 г.
- ^ «Понимание списка просмотра совместимости» . MSDN . Майкрософт . Проверено 6 сентября 2009 г.
- ^ Скотт Диккенс (21 июля 2009 г.). «Обновление списка просмотра совместимости в Internet Explorer 8» . IEBlog . Майкрософт . Проверено 6 сентября 2009 г.