Un objeto navegador

Un script que permite obtneer información sobre el modelo de navegador utilizado por el usuario de nuestras páginas.

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

Solución

 

<script>

function oNavegador() {

this.nombre = function(){

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

var 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(){

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

var 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 e 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 concretso según el 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 versión.

Este ejemplo es útil para fines de aprendizaje.