Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Кроссбраузерная совместимость — это способность веб-сайта или веб-приложения корректно работать в различных браузерах и обеспечивать плавную деградацию функциональности в случае отсутствия или ограниченной поддержки необходимых функций браузера.
Cross browser compatibility is the ability of a website or web application to function across different browsers and degrade gracefully when browser features are absent or lacking.
Предыстория
История кроссбраузерности тесно связана с историей "войн браузеров" конца 1990-х годов между Netscape Navigator и Microsoft Internet Explorer, а также с историей JavaScript и JScript – первых скриптовых языков, реализованных в веб-браузерах. Netscape Navigator был самым популярным веб-браузером того времени, а Microsoft лицензировала Mosaic для создания Internet Explorer 1.0. В последующие несколько лет новые версии Netscape Navigator и Internet Explorer выходили стремительно. Из-за острой конкуренции на рынке веб-браузеров разработка этих браузеров шла быстрыми темпами, и новые функции добавлялись без согласования между разработчиками. Приоритет часто отдавался внедрению новых функций, а не исправлению ошибок, что приводило к нестабильной работе браузеров, непоследовательному соблюдению веб-стандартов, частым сбоям и многочисленным уязвимостям в системе безопасности.
The history of cross browser is involved with the history of the "browser wars" in the late 1990s between Netscape Navigator and Microsoft Internet Explorer as well as with that of JavaScript and JScript, the first scripting languages to be implemented in the web browsers. Netscape Navigator was the most widely used web browser at that time and Microsoft had licensed Mosaic to create Internet Explorer 1.0. New versions of Netscape Navigator and Internet Explorer were released at a rapid pace over the following few years. Due to the intense competition in the web browser market, the development of these browsers was fast paced and new features were added without any coordination between vendors. The introduction of new features often took priority over bug fixes, resulting in unstable browsers, fickle web standards compliance, frequent crashes and many security holes.
Создание W3C и стандартизация Web
Консорциум World Wide Web (W3C), основанный в 1994 году для продвижения открытых стандартов для World Wide Web, объединил Netscape и Microsoft с другими компаниями для разработки стандарта для языков сценариев браузера под названием ECMAScript. Первая версия стандарта была опубликована в 1997 году. Последующие выпуски JavaScript и JScript реализовывали стандарт ECMAScript для повышения кросс-браузерной совместимости. После стандартизации ECMAScript, W3C приступил к работе над стандартизацией Document Object Model (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).
The World Wide Web Consortium (W3C), founded in 1994 to promote open standards for the World Wide Web, pulled Netscape and Microsoft together with other companies to develop a standard for browser scripting languages called ECMAScript. The first version of the standard was published in 1997. Subsequent releases of JavaScript and JScript would implement the ECMAScript standard for greater cross browser compatibility. After the standardization of ECMAScript, W3C began work on the standardization of Document Object Model (DOM), which is a way of representing and interacting with objects in HTML, XHTML and XML documents. DOM Level 0 and DOM Level 1 were introduced in 1996 and 1997. Only limited supports of these were implemented by the browsers, as a result, non conformant browsers such as Internet Explorer 4. x and Netscape 4. x were still widely used as late as 2000. DOM Standardization became popular since the introduction of DOM Level 2, which was published in 2000. It introduced the "getElementById" function as well as an event model and support for XML namespaces and CSS. DOM Level 3, the current release of the DOM specification, published in April 2004, added support for XPath and keyboard event handling, as well as an interface for serializing documents as XML. By 2005, large parts of W3C DOM were well supported by common ECMAScript enabled browsers, including Microsoft Internet Explorer, Opera, Safari and Gecko based browsers (like Firefox, SeaMonkey and Camino).
21 век
В начале века такие методы, как определение браузера, считались непригодными для кросс-браузерной разработки. Термин "многобраузерный" был введен для описания приложений, которые полагались на определение браузера или делали иные некорректные предположения об окружении выполнения, которое в то время почти всегда представляло собой веб-браузеры. Термин "кросс-браузерный" приобрел свое современное значение в этот период, поскольку приложения, которые когда-то работали в Internet Explorer 4 и Netscape Navigator 4, но впоследствии стали неработоспособными в современных браузерах, нельзя было разумно назвать "кросс-браузерными". В разговорной речи такие многобраузерные приложения, а также фреймворки и библиотеки до сих пор называют кросс-браузерными.
In the early part of the century, practices such as browser sniffing were deemed unusable for cross browser scripting. The term "multi browser" was coined to describe applications that relied on browser sniffing or made otherwise invalid assumptions about run time environments, which at the time were almost invariably Web browsers. The term "cross browser" took on its currently accepted meaning at this time, as applications that once worked in Internet Explorer 4 and Netscape Navigator 4 and had since become unusable in modern browsers could not reasonably be described as "cross browser". Colloquially, such multi browser applications, as well as frameworks and libraries, are still referred to as cross browser.