Autor Tema: JavaScript saber qué navegador usa usuario Objeto Navigator userAgent CU01170E.  (Leído 3973 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola,,

Citar
EJERCICIO
Usando la propiedad userAgent de los objetos Navigator, determina el navegador que está usando el usuario y muestra un mensaje por pantalla informando de ello. El resultado debe ser del tipo: <<Estás usando: nombreNavegador>>, donde nombreNavegador será Google Chrome, Apple Safari, Opera, Mozilla Firefox, Microsoft Internet Explorer ó Desconocido. Resuélvelo de dos maneras distintas:
a) Usando expresiones regulares.
b) Usando el método indexOf de los objetos tipo String de JavaScript.

respuesta a:
Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
function ejemplo() {
var cadena = window.navigator.userAgent;
var expRegChrome = /Chrome/;
var expRegSafari = /Safari/;
var expRegFirefox = /Firefox/;
var expRegIE = /Trident/;
var msg = 'El navegador que esta usando es: ';
if(expRegFirefox.test(cadena)){
msg += 'Mozilla Firefox.';
}else if(expRegSafari.test(cadena)){
if(expRegChrome.test(cadena)){
msg += 'Google Chrome.';
}else{
msg += 'Apple Safari.';
}
}else if(expRegIE.test(cadena)){
msg += 'Internet Explorer.';
}else{
msg += 'Desconocido';
}
document.getElementById('resultado').innerHTML = msg;
}
</script>
</head>
<body onload="ejemplo()">
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div id="resultado"></div>
</body>
</html>

respuesta b:
Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
function ejemplo() {
var cadena = window.navigator.userAgent;
var msg = 'El navegador que esta usando es: ';
if(cadena.indexOf('Firefox')!=-1){
msg += 'Mozilla Firefox.';
}else if(cadena.indexOf('Safari')!=-1){
if(cadena.indexOf('Chrome')!=-1){
msg += 'Google Chrome.';
}else{
msg += 'Apple Safari.';
}
}else if(cadena.indexOf('Trident')!=-1){
msg += 'Internet Explorer.';
}else{
msg += 'Desconocido';
}
document.getElementById('resultado').innerHTML = msg;
}
</script>
</head>
<body onload="ejemplo()">
<div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div id="resultado"></div>
</body>
</html>

Saludos.
« Última modificación: 10 de Diciembre 2015, 08:58 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola Pedro

¿Por qué tienes un if anidado dentro de un else if?

Código: [Seleccionar]
else if(expRegSafari.test(cadena)){
if(expRegChrome.test(cadena)){
msg += 'Google Chrome.';
}else{
msg += 'Apple Safari.';
}
}

Esto parece poco elegante a no ser que sea realmente necesario

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola Alex.

Aquí dejo la parte del if de las dos soluciones. Supongo que trabajar a deshoras hace no tener la mente clara. ::)

a)
Código: [Seleccionar]
                     if(expRegFirefox.test(cadena)){
msg += 'Mozilla Firefox.';
}else if(expRegSafari.test(cadena) && expRegChrome.test(cadena)){
msg += 'Google Chrome.';
}else if(expRegSafari.test(cadena) && !expRegChrome.test(cadena)){
msg += 'Apple Safari.';
}else if(expRegIE.test(cadena)){
msg += 'Internet Explorer.';
}else{
msg += 'Desconocido';
}

b)
Código: [Seleccionar]
                      if(cadena.indexOf('Firefox')!=-1){
msg += 'Mozilla Firefox.';
}else if(cadena.indexOf('Safari')!=-1 && cadena.indexOf('Chrome')!=-1){
msg += 'Google Chrome.';
}else if(cadena.indexOf('Safari')!=-1 && cadena.indexOf('Chrome')==-1){
msg += 'Apple Safari.';
}else if(cadena.indexOf('Trident')!=-1){
msg += 'Internet Explorer.';
}else{
msg += 'Desconocido';
}

Saludos.

« Última modificación: 10 de Diciembre 2015, 20:42 por pedro,, »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola Pedro

Ahora todo bien, me habían extrañado los anidamientos del if

Saludos

 

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".