La compatibilidad entre navegadores es la capacidad de un sitio web o una aplicación web de funcionar en diferentes navegadores y degradarse de manera elegante cuando faltan o faltan funciones del navegador. [ no verificado en el cuerpo ]
La historia de los navegadores cruzados está relacionada con la historia de las " guerras de navegadores " a finales de los años 90 entre Netscape Navigator y Microsoft Internet Explorer , así como con la de JavaScript y JScript , los primeros lenguajes de programación que se implementaron en los navegadores web. Netscape Navigator era el navegador web más utilizado en ese momento y Microsoft había autorizado a Mosaic para crear Internet Explorer 1.0 . Las nuevas versiones de Netscape Navigator e Internet Explorer se lanzaron a un ritmo rápido durante los años siguientes. Debido a la intensa competencia en el mercado de navegadores web, el desarrollo de estos navegadores fue rápido y se agregaron nuevas características sin ninguna coordinación entre los proveedores. La introducción de nuevas características a menudo tuvo prioridad sobre la corrección de errores, lo que resultó en navegadores inestables, cumplimiento inestable de los estándares web, fallas frecuentes y muchos agujeros de seguridad.
El Consorcio World Wide Web (W3C), fundado en 1994 para promover estándares abiertos para la World Wide Web , reunió a Netscape y Microsoft junto con otras compañías para desarrollar un estándar para lenguajes de scripting de navegadores llamado ECMAScript . La primera versión del estándar se publicó en 1997. Las versiones posteriores de JavaScript y JScript implementarían el estándar ECMAScript para una mayor compatibilidad entre navegadores. Después de la estandarización de ECMAScript, el W3C comenzó a trabajar en la estandarización de Document Object Model (DOM), que es una forma de representar e interactuar con objetos en documentos HTML , XHTML y XML . El DOM Nivel 0 y el DOM Nivel 1 se introdujeron en 1996 y 1997. Los navegadores sólo implementaron un soporte limitado de estos, como resultado, los navegadores no conformes como Internet Explorer 4.x y Netscape 4.x todavía se usaban ampliamente hasta el año 2000. La estandarización del DOM se hizo popular desde la introducción del DOM Nivel 2, que se publicó en 2000. Introdujo la función "getElementById", así como un modelo de eventos y soporte para espacios de nombres XML y CSS . El DOM Nivel 3, la versión actual de la especificación DOM, publicada en abril de 2004, agregó soporte para XPath y manejo de eventos de teclado , así como una interfaz para serializar documentos como XML. Para 2005, grandes partes del DOM del W3C eran bien soportadas por navegadores comunes habilitados para ECMAScript, incluyendo Microsoft Internet Explorer, Opera , Safari y navegadores basados en Gecko (como Firefox , SeaMonkey y Camino ). [1]
A principios de siglo, prácticas como el rastreo de navegadores se consideraban inutilizables para la creación de scripts entre navegadores. [2] El término "multinavegador" se acuñó para describir aplicaciones que dependían del rastreo de navegadores o que hacían suposiciones no válidas sobre los entornos de ejecución, que en ese momento eran casi invariablemente navegadores web. El término "multinavegador" adquirió su significado actual en ese momento, ya que las aplicaciones que alguna vez funcionaron en Internet Explorer 4 y Netscape Navigator 4 y que desde entonces se habían vuelto inutilizables en los navegadores modernos no podían describirse razonablemente como "multinavegador". Coloquialmente, estas aplicaciones multinavegador, así como los marcos y las bibliotecas, todavía se denominan "multinavegador".