Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: pedro,, en 09 de Diciembre 2015, 00:27

Título: JavaScript saber qué navegador usa usuario Objeto Navigator userAgent CU01170E.
Publicado por: pedro,, en 09 de Diciembre 2015, 00:27
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.
Título: Re:JavaScript saber qué navegador usa usuario Objeto Navigator userAgent CU01170E.
Publicado por: Alex Rodríguez en 10 de Diciembre 2015, 09:03
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
Título: Re:JavaScript saber qué navegador usa usuario Objeto Navigator userAgent CU01170E.
Publicado por: pedro,, en 10 de Diciembre 2015, 17:23
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.

Título: Re:JavaScript saber qué navegador usa usuario Objeto Navigator userAgent CU01170E.
Publicado por: Alex Rodríguez en 13 de Diciembre 2015, 11:07
Hola Pedro

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

Saludos