Un objeto navegador

Un script que permite obtener información sobre el modelo de navegador utilizado por el usuario de nuestras páginas. Aunque la mayoría de los navegadores usan ya los mismosestándares no viene mal para cuando se comportan de manera diferente.

Permite conocer el nombre, versión y el idioma del navegador.

Solución

 

<script>

function oNavegador() {

this.nombre = function(){

let navs = ["Firefox","Chrome","Safari","Edge","Opera"];

let regex, brw, i=0;

while ( i< navs.length){

  regex = new RegExp(navs[i],"i");

  if (regex.test(navigator.userAgent)) {

     brw = navs[i];

    i = navs.length;

  }

  i++

}

return brw;

}

this.version = function(){

let regex = new RegExp(this.nombre()+"\\/([\\d\\.]+)\\s","i");

let ver = regex.exec(navigator.userAgent);

return ver[1];

}

this.idioma = navigator.language;

}

</script>

<body>

Contenido de la página

<di id = "info"></div>

<script>

  let visita = new oNavegador();

  let ventInfo = document.getElementById('info');

  let txt='';

  txt = "Navegador: "+visita.nombre()+"<br>";

  txt += " Versión: "+visita.version()+"<br>";

  txt += " Cod Idioma: "+visita.idioma+"<br>";

  ventInfo.innerHTML = txt;

</script>

</body>

Explicación

Este script lee la información para identificar el navegador usado por el visitante.

Lo interesante del script es la creación de objetos y el uso de las expresinoes regulares.

Se define un objeto, oNavegador, con una propiedad y dos métodos:

idioma es una propiedad que contiene el código e idioma usado.

version(): es un método que lee la versión del navegador

nombre: un método para leer el nombre del navegador

Para detectar el nombre del navegador usa una lista con nombres de navegadores y para cada item de la lista comprueba si el nombre se encuentra en navigator.userAgent . Chrome debe ir antes que Safari, pues en el navegador de Google aparecen ambos nombres.

Para la versión se usa otra expresión regular que busca una cadena de números y puntos que sigue al nombre del navegador, separado por una barra inclinada.

Como lo uso

 Esta es una muestra muy simple del uso del objeto oNavegador, tan solo crea el objeto y nos devuelve los valores correspondientes al navegador usado.

En general y dado el alto grado de estandarización de Javascript, la detección del navegador no es imprescindible.

En general se suele comprobar si el navegador usado dispone de la función o característica de Javascript que pudiera dar problemas de compatibilidad

Este ejemplo es útil para fines de aprendizaje.