En los primeros días de la web, HTML era muy simple, no estandarizado y no incluía ninguna capacidad para scripts del lado cliente. HTML en sí mismo no se estandarizó hasta que se presentó HTML 2.0 a finales de 1995 y ni siquiera incluía tablas. Los suministradores de navegadores como Netscape y Microsoft competían para añadir características atractivas al HTML que implementaban en sus navegadores para proporcionar el contenido más atractivo y rico a sus usuarios. Las capacidades de los navegadores para incluir lo último y mejor en contenidos cambiaban casi diariamente. Netscape Navigator 2 introdujo la capacidad de ejecutar JavaScript en los navegadores web. A medida que la evolución de los navegadores continuó, aparecieron las diferencias en la implementación del script y los objetos admitidos por el navegador. Gracias a esto se podía ejecutar scripts en el lado cliente que podían usarse para distinguir navegadores. Una de las primeras aproximaciones a la detección de navegadores en el lado cliente incluía probar si el navegador implementaba determinados objetos. Un ejemplo de esta aproximación era probar la existencia del objeto document.images. Netscape Navigator 4 e Internet Explorer 4 introdujeron la capacidad de manipular el contenido HTML en un navegador (Dynamic HTML o DHTML) en lugar de en el servidor web y comenzaron la introducción de las implementaciones de CSS para proporcionar estilos al contenido. Esta generación de navegadores, además de compartir varias características que no estaban disponibles en versiones previas, implementaban cada una su propias e incompatibles capacidades competidoras para manipular contenido en una página web. Dado que los navegadores de cada suministrador implementaban diferentes objetos para ejecutar DHTML, hubo que distinguir al suministrador a través de la existencia de objetos JavaScript concretos. La existencia de document.layers era suficiente para estar seguro de que el navegador era Netscape Navigator 4 mientras que la existencia de document.all era suficiente para estar seguro de que el navegador era Microsoft Internet Explorer 4. A continuación se presentan algunas consideraciones a tomar en cuenta para determinar el soporte del navegador: 1. Centrarse en los estándares y no en navegadores concretos. Si bien el período de 1994 a 2000 estuvo dominado por navegadores incompatibles y no estándares de Netscape y Microsoft, ahora el factor dominante en el desarrol o web son los estándares propuestos por el World Wide Web Consortium (W3C). Orientar el contenido de una web a suministradores concretos ignora la posibilidad de que puedan aparecer otros navegadores que implementen los mismos estándares en el futuro. Un problema común en la web hoy en día es la suposición de que los únicos navegadores en el mundo son Netscape Navigator y Microsoft Internet Explorer. Esto ignora la existencia de otros navegadores que se están usando para acceder a la web ahora y en el futuro. 2. Proporcionar una alternativa a los navegadores desconocidos. Proporcionar siempre contenido y bifurcaciones de código para cuando se utiliza un navegador desconocido. La aproximación recomendada es asumir que cualquier navegador no conocido implementa los estándares básicos de HTML y CSS y hasta cierto nivel JavaScript y DOM de W3C. Esto garantizará que el contenido será admitido hoy y en el futuro por cualquier navegador que implemente los estándares. 3. También se puede usar información detal ada con respecto a la versión de un navegador para solventar fallos en versiones específicas de un navegador. Sin embargo, esto puede derivar rápidamente en una pesadil a para el mantenimiento si no es cuidadoso. Se recomienda que se tome estas medidas sólo con carácter temporal y, tan pronto como se corrijan en versiones más modernas del navegador, corregir también el código. 4. Proporcionar páginas básicas para los navegadores más antiguos. Ningún sitio web comercial de hoy en día considera un requisito que se visualice correctamente en Netscape Navigator versiones 1, 2 o 3, o Microsoft Internet Explorer 3. Las razones son que las capacidades de esos navegadores son demasiado limitadas comparadas con los navegadores más modernos, los requerimientos añadidos de desarrol o y control de calidad incrementan demasiado el costo de desarrollo de los sitios web y la cuota de mercado de tales navegadores no justifica el costo de tenerlos en cuenta. Una de las decisiones más importantes que se puede tomar de cara a mejorar la calidad del sitio y reducir los costos de desarrollo, mantenimiento y control de calidad es proporcionar sólo una atención limitada a los navegadores más antiguos tales como Netscape Navigator 4 e Internet Explorer 4. Una de las aproximaciones más comunes en los sitios web más importantes es proporcionar una versión de bajo nivel de una página web a los navegadores más antiguos a la vez que proporciona una página más rica que usa CSS y JavaScript avanzados a los navegadores más modernos. 5. Usar detección no basada en script cuando sea posible. Los navegadores más antiguos tienen muchas limitaciones que hacen que ignoren las características más avanzadas. El uso juicioso de estas limitaciones en los navegadores más antiguos le permitirá incluir contenido moderno sin dejar de prestar asistencia a los navegadores antiguos.
Observa el siguiente video:
Flash Browser: Navegador con soporte Flash para Android Jelly Bean con o sin ROOT (AOSP Browser)(Jonathan Silvera)