Autor Tema: Cómo identificar navegador del usuario con código JavaScript ejemplo CU01170E#  (Leído 1803 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo el ejercicio del tema CU01170E jerarquia objetos javascript forms elements images navigator, del tutorial de programación JavaScript básico de aprenderaprogramar.

Código: [Seleccionar]
<!DOCTYPE html>

<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">

<script type="text/javascript">

var navegadorEnUso=window.navigator.userAgent;
var bool=false;
var nav="";
function expresionesRegulares()
{
var msg="";
var navegador=[/Chrome/,/Safari/,/Opera/,/Firefox/,/MSIE/];
navegador.forEach(function (elemento, indice)
  {
    if (navegador[indice].test(navegadorEnUso) && bool==false)
{
if (indice==0){nav=" Google Chrome"}
if (indice==1){nav=" Apple Safari"}
if (indice==2){nav=" Opera"}
if (indice==3){nav=" Mozilla Firefox"}
if (indice==4){nav=" Microsoft Internet Explorer"}
bool=true;
}
  });
 
if (bool)
{
msg=msg+"<strong>EXPRESIONES REGULARES</strong><br/><br/>"
msg=msg+"Usted esta usando el navegador :"+nav+"<br/> " ;
}
else {
nav="Navegador desconocido";
}
document.all.pizarra.innerHTML=msg;
}

function IndexOff()
{
var msg="";
msg=msg+"<strong>INDEXOF</strong><br/><br/>"
if (navegadorEnUso.indexOf("Chrome")!=-1){nav=" Google Chrome"}
else if (navegadorEnUso.indexOf("Safari")!=-1){nav=" Apple Safari"}
else if (navegadorEnUso.indexOf("Opera")!=-1){nav=" Opera"}
else if (navegadorEnUso.indexOf("Firefox")!=-1){nav=" Mozilla Firefox"}
else if (navegadorEnUso.indexOf("MSIE")!=-1){nav=" Microsoft Internet Explorer"}

else {
nav="Navegador desconocido";
}
msg=msg+"Usted esta usando el navegador :"+nav+"<br/> " ;
document.all.pizarra.innerHTML=msg;
}



</script>

<style type="text/css">
body{background-color:green;}
  h1,h2,h3{
text-align:center;
margin:0;
padding:0;
color:white;
width:300;
height:200;
}

.boton {
border:outset white  2px; 
width:200px;
border-radius:25px 25px;
box-shadow:3px 3px 2px 2px #AFF6AF;
text-align:center;
    background-color:#90EE90;
color:black;
font-size:19px;
margin-top :15px;
margin-left:5px;
margin-bottom:5px;

}
.boton {margin-left:150px;}


.boton:hover {
border:inset 2px green;
box-shadow:3px 3px 2px 2px  #0BF50B ;
    }
#pizarra {
width:500px;
background-color:black;
border:groove red 8px;
border-radius:25px 25px;
color:white;
font-size:19px;
text-align:center;
padding:15px;
overflow:hidden;
float:left;
margin-left:10px;
margin-top:10px;
}
#Pizarras{float:left;}
</style>
</head>

<div id="cabecera">
<h2>Cursos aprenderaprogramar.com</h2>
<h3>Ejercicio CU01170E<br/>Jerarquia de objetos JavaScript</h3>
</div>
<div id="Pizarras">
<div class="boton" onclick="expresionesRegulares()">Expresiones Regulares</div>
<div class="boton" onclick=" IndexOff()">IndexOf</div>
<div id="pizarra"></div>


</body>

</html>


He probado el código en los navegadores  Google Chrome,  Opera, Mozilla Firefox y Microsoft Internet Explorer.

En los tres primeros navegadores las funciones de Expresiones regulares e indexOf funcionan bien, en MSIE solo funciona la de indexOf.

¿ A que se debe esto ?

Gracias un saludo.  ;)
« Última modificación: 22 de Junio 2018, 19:39 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, buena presentación y buen código. En mi caso con MSIE tampoco ha funcionado. En primer lugar, debido a la configuración de seguridad del navegador. A mí me aparece el mensaje "Internet Explorer no permitió que esta página web ejecutara scripts o controles ActiveX en el equipo". Si le indico "Permitir" en la parte de expresiones regulares sigue sin funcionarme, y en la parte de indexOf me aparece "Usted está usando el navegador: Navegador desconocido".

En window.navigator.userAgent lo que me devuelve es: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; rv:11.0) like Gecko

Mozilla era la mascota de Netscape, y Netscape fue uno de los navegadores más populares (o el más popular) en la época en que internet se expandió y comenzó a ser usado por todo el mundo. Confunde porque cuando vemos Mozilla normalmente pensamos en Mozilla Firefox, pero en este caso no es el user-agent de Firefox sino de una versión del Explorer.

Tradicionalmente siempre que los navegadores eran Microsoft Internet Explorer, en el user-agent string aparecía MSIE, pero hay versiones donde no aparece y tendrían que ser identificados de otra manera.

En fin, un pequeño lío. De cualquier forma, el objetivo en el curso es tener una idea general sobre el reconocimiento de navegadores y por ese lado misión cumplida.
 
Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".