This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (Learn how and when to remove this message)
|
Cross-browser compatibility is the ability of awebsite orweb application to function across differentbrowsers anddegrade gracefully when browser features are absent or lacking.[not verified in body]
The history of cross-browser is involved with the history of the "browser wars" in the late 1990s betweenNetscape Navigator andMicrosoft Internet Explorer as well as with that ofJavaScript andJScript, 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 licensedMosaic to createInternet 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.
TheWorld Wide Web Consortium (W3C), founded in 1994 to promote open standards for theWorld Wide Web, pulledNetscape andMicrosoft together with other companies to develop a standard for browser scripting languages calledECMAScript. 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 ofDocument Object Model (DOM), which is a way of representing and interacting with objects inHTML,XHTML andXML 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 asInternet 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 andCSS. DOM Level 3, the current release of the DOM specification, published in April 2004, added support forXPath andkeyboard 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 andGecko-based browsers (likeFirefox,SeaMonkey andCamino).[1]
In the early part of the century, practices such asbrowser sniffing were deemed unusable for cross-browser scripting.[2] 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.