Кроссбраузерная совместимость


Кроссбраузерная совместимость — это способность веб- сайта или веб-приложения работать в разных браузерах и корректно ухудшаться , когда функции браузера отсутствуют или отсутствуют. [ не проверено в теле ]

История кроссбраузерности связана с историей « войн браузеров » в конце 1990-х годов между Netscape Navigator и Microsoft Internet Explorer , а также с историей JavaScript и JScript ., первые языки сценариев, реализованные в веб-браузерах. Netscape Navigator был наиболее широко используемым веб-браузером в то время, и Microsoft лицензировала Mosaic для создания Internet Explorer 1.0. В течение следующих нескольких лет быстро выпускались новые версии Netscape Navigator и Internet Explorer. Из-за жесткой конкуренции на рынке веб-браузеров разработка этих браузеров шла быстрыми темпами, и новые функции добавлялись без какой-либо координации между поставщиками. Внедрение новых функций часто имело приоритет над исправлением ошибок, что приводило к нестабильной работе браузеров, непостоянному соответствию веб-стандартам, частым сбоям и множеству дыр в безопасности.

Консорциум World Wide Web (W3C), основанный в 1994 году для продвижения открытых стандартов для World Wide Web , привлек Netscape и Microsoft вместе с другими компаниями для разработки стандарта для языков сценариев браузера под названием « ECMAScript ». Первая версия стандарта была опубликована в 1997 году. Последующие версии JavaScript и JScript будут реализовывать стандарт ECMAScript для большей совместимости между браузерами. После стандартизации ECMAScript W3C начал работу по стандартизации объектной модели документа (DOM), которая представляет собой способ представления и взаимодействия с объектами в HTML , XHTML и XML .документы. DOM Level 0 и DOM Level 1 были введены в 1996 и 1997 годах. Браузеры реализовали лишь ограниченную их поддержку, в результате несовместимые браузеры, такие как Internet Explorer 4.x и Netscape 4.x, по-прежнему широко использовались в качестве в конце 2000 года. Стандартизация DOM стала популярной с момента введения DOM Level 2, который был опубликован в 2000 году. Он представил функцию «getElementById», а также модель событий и поддержку пространств имен XML и CSS . DOM Level 3, текущая версия спецификации DOM, опубликованная в апреле 2004 г., добавила поддержку XPath и обработки событий клавиатуры, а также интерфейс для сериализации документов в формате XML. К 2005 году большая часть W3C DOM хорошо поддерживалась обычными браузерами с поддержкой ECMAScript, включая Microsoft Internet Explorer ., Opera , Safari и браузеры на базе Gecko (например , Firefox , SeaMonkey и Camino ). [1]

В начале века такие методы, как прослушивание браузера , считались непригодными для кросс-браузерного скриптинга. [2] Термин «мультибраузерность» был придуман для описания приложений, которые полагались на сниффинг браузера или делали иным образом неверные предположения о средах выполнения, которые в то время почти всегда были веб-браузерами. Термин «кроссбраузерный» приобрел свое нынешнее общепринятое значение в то время, поскольку приложения, которые когда-то работали в Internet Explorer 4 и Netscape Navigator 4 и с тех пор стали непригодными для использования в современных браузерах, не могут быть обоснованно описаны как «кросс-браузерные». В просторечии такие мультибраузерные приложения, а также фреймворки и библиотеки до сих пор называют кроссбраузерными.