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
-
Hola,,
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:
<!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:
<!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.
-
Hola Pedro
¿Por qué tienes un if anidado dentro de un else if?
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
-
Hola Alex.
Aquí dejo la parte del if de las dos soluciones. Supongo que trabajar a deshoras hace no tener la mente clara. ::)
a)
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)
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.
-
Hola Pedro
Ahora todo bien, me habían extrañado los anidamientos del if
Saludos