Foros del Web » Programando para Internet » Javascript »

funcion javascript Firefox/Chrome

Estas en el tema de funcion javascript Firefox/Chrome en el foro de Javascript en Foros del Web. Hola, tnego un problema para que me asigne el evento onclick mediante una funcion en los navegadores Firefox/Chrome: aqui les pego: function menuGallego() { var ...
  #1 (permalink)  
Antiguo 25/02/2011, 07:57
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
funcion javascript Firefox/Chrome

Hola, tnego un problema para que me asigne el evento onclick mediante una funcion en los navegadores Firefox/Chrome: aqui les pego:

function menuGallego() {
var contenedor=document.getElementById('menudinamico') .getElementsByTagName('a');
var menuG=document.getElementById('menuidioma').getEle mentsByTagName('a');
var gecko = navigator.userAgent.toLowerCase();

if (gecko.indexOf('gecko')!=-1) { // es cualquier navegador Gecko
contenedor[0].setAttribute("onclick","FAjax ('empresa_gallego.html','texto',null,'GET'); return false");
contenedor[1].setAttribute("onclick","FAjax ('ofertas_gallego.html','texto',null,'GET'); return false");
contenedor[2].setAttribute("onclick","FAjax ('cursos_gallego.html','texto',null,'GET'); return false");
contenedor[3].setAttribute("onclick","FAjax ('localizacion_gallego.html','texto',null,'GET'); return false");
contenedor[4].setAttribute("onclick","FAjax ('soporte_gallego.html','texto',null,'GET'); return false");
menuG[0].setAttribute("onclick","tamanoFuente(); FAjax ('empresa.html','texto',null,'GET'); menuCastellano(); return false");
}

else { //es Internet Explorer
contenedor[0]['onclick']=new Function('FAjax ("empresa_gallego.html","texto",null,"GET"); return false');
contenedor[1]['onclick']=new Function('FAjax ("ofertas_gallego.html","texto",null,"GET"); return false');
contenedor[2]['onclick']=new Function('FAjax ("cursos_gallego.html","texto",null,"GET"); return false');
contenedor[3]['onclick']=new Function('FAjax ("localizacion_gallego.html","texto",null,"GET" ); return false');
contenedor[4]['onclick']=new Function('FAjax ("soporte_gallego.html","texto",null,"GET"); return false');
menuG[0]["onclick"]=new Function("tamanoFuente(); FAjax ('empresa.html','texto',null,'GET'); menuCastellano(); return false");
}
}

En teoría debería funcionar ya que son navegadores gecko. Un saludo agradezco una ayudita.
  #2 (permalink)  
Antiguo 25/02/2011, 08:37
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: funcion javascript Firefox/Chrome

Prueba cambiando
Código Javascript:
Ver original
  1. gecko.indexOf('gecko')!=-1
por
Código Javascript:
Ver original
  1. /gecko/i.test(gecko)
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 25/02/2011, 12:14
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: funcion javascript Firefox/Chrome

Sigue sin irme de esa forma... es raro por que el Chrome utilizar el gecko...no entiendo como no va..
  #4 (permalink)  
Antiguo 25/02/2011, 15:53
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: funcion javascript Firefox/Chrome

A mí
Código Javascript:
Ver original
  1. alert(/gecko/i.test(navigator.userAgent));
me funciona, ¿no estarás haciendo alguna otra cosa mal?
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 25/02/2011, 19:21
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: funcion javascript Firefox/Chrome

Me devuelve true en tanto encuentra la palabra gecko pero no se me ejecuta el codigo...y en opera e IE si se me ejecuta perfectamente. Gracias _cronos por la ayuda
  #6 (permalink)  
Antiguo 27/02/2011, 08:49
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: funcion javascript Firefox/Chrome

¿nadie puede echarme una mano?
  #7 (permalink)  
Antiguo 28/02/2011, 04:40
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: funcion javascript Firefox/Chrome

Nadie puede ayudarme, si es que no me funciona ni el onclick puesto directamente el href en los navegadores firefox, chrome y safari, sin embargo en opera e IE si me funciona. Les pego el html a ver si alguien me encuentra algo raro que yo no veo (por mucho que reviste):

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>NOUTRORA</title>  
<script type="text/javascript" src="js/ajax.js"></script>
<link href="estilos/reset.css" rel="stylesheet" type="text/css" >
</head>
<body>
<div id="pagina">
	<div id="fondocabecera">
    	<div><img id="cabecera" src="/imagenes/cabecera.png" alt="cabecera" >
            <div><img id="simbolo" src="/imagenes/simbolo.gif" alt="foto" ></div>
            <div id="logo"><img id="logo" src="/imagenes/logo.gif" alt="foto" ></div>
            <div id="idioma">
                <ul id="menuidioma">
                    <li id="i_0"><a href="#" onClick="alert('hola')"><img class="bandera" src="/imagenes/espana.png"> Castellano</a></li>
                    <li id="i_1"><a href="#" onClick="alert('hola')"><img class="bandera" src="/imagenes/galicia.png"> Galego</a></li>
                </ul>
            </div>
		</div>
	</div>
    
	<div id="fondodegradado"><img id="degradado" src="/imagenes/fondodegradado.png" alt="degradado" >
    	<div><img id="marcas" src="/imagenes/marcas.gif" alt="foto" ></div>
    </div>
    
	<div id="fondocuerpo"><img id="cuerpo" src="imagenes/fondocuerpo1.png" alt="cuerpo" >
        <div id="contenedor">
            <ul id="menudinamico">
                <li id="l_0" onClick="pestanaActiva(this.id)" class="activo" ><a href="#"onClick="alert('hola')">Empresa</a></li>
                <li id="l_1" onClick="pestanaActiva(this.id)"><a href="#" onClick="alert('hola')">Ofertas</a></li>
                <li id="l_2" onClick="pestanaActiva(this.id)"><a href="#" onClick="alert('hola')">Cursos</a></li>
                <li id="l_3" onClick="pestanaActiva(this.id)"><a href="#" onClick="alert('hola')">Localización</a></li>
                <li id="l_4" onClick="pestanaActiva(this.id)"><a href="#" onClick="alert('hola')">Soporte</a></li>
            </ul>
            <div id="contenido"><img src="/imagenes/t.png" alt="foto" onLoad="FAjax ('empresa.html','contenido',null,'GET'); return false"></div>												
        </div> 	
	</div>
    
    <div id="fondopie"><img id="pie" src="/imagenes/fondopie.png" alt="pie" >
    	<div id="contenidopie">&copy; NOUTRORA S.L. - Pazos Fontenla, 64 - 36930 Bueu [Pontevedra] - Tel. 986 322 542</div>
    </div>
    
</div>
</body> 
</html>
Aqui el javascript:


Código:
//// SELECCIONAR HOJA CSS SEGUN NAVEGADOR CLIENTE


var nombreNavegador = navigator.userAgent;

// Internet Explorer
if ((nombreNavegador.indexOf("MSIE"))!=-1) {
 document.write('<link href="estilos/msie.css" rel="stylesheet" type="text/css">');
 
}
// Opera 
else if ((nombreNavegador.indexOf("Opera"))!=-1) {
 document.write('<link href="estilos/opera.css" rel="stylesheet" type="text/css">');
 
}
// Google Chrome 
else if ((nombreNavegador.indexOf("Chrome"))!=-1) {
 document.write('<link href="estilos/chrome.css" rel="stylesheet" type="text/css">');

}
// Safari 
else if ((nombreNavegador.indexOf("Safari"))!=-1) {
 document.write('<link href="estilos/safari.css" rel="stylesheet" type="text/css">');

}
// Mozilla Firefox 
else if ((nombreNavegador.indexOf("Firefox"))!=-1) {
 document.write('<link href="estilos/mzfirefox.css" rel="stylesheet" type="text/css">');

}

////CARGAR EVENTOS PESTAÑAS

window.onload = function() {		
	tamanoFuente();
}

window.onresize = function() {
	tamanoFuente();
}

//// AJAX Y GET MEDIANTE AJAX

function creaAjax(){
  var objetoAjax=false;
  try {
   /*Para navegadores distintos a internet explorer*/
   objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try {
     /*Para explorer*/
     objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
     } 
     catch (E) {
     objetoAjax = false;
   }
  }

  if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
   objetoAjax = new XMLHttpRequest();
  }
  return objetoAjax;
}


 function FAjax (url,capa,valores,metodo) {

   var ajax=creaAjax();
   var capaContenedora = document.getElementById(capa);

    ajax.open ('GET', url, true);
    ajax.onreadystatechange = function() {
         if (ajax.readyState==4){
            if(ajax.status==200){ 
                 document.getElementById(capa).innerHTML=ajax.responseText; 
            }
            else if(ajax.status==404)
                 {

                     capaContenedora.innerHTML = "La direccion existe";
                 }
                 else
                 {
                     capaContenedora.innerHTML = "Error: ".ajax.status;
                 }
        }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(null);

  
    return
}


//// FUNCIÓN QUE SEÑALA LA PESTAÑA ACTIVA

function pestanaActiva(id) {
	
	var pestana=document.getElementById(id); 
	var contenedor=document.getElementById('menudinamico').getElementsByTagName('li');
	var n=contenedor.length;
	
		for (i=0; i<n; i++) {
			contenedor[i].className = 'inactivo';
			
		}
	pestana.className = 'activo';
	
}
No me aplica los onclick del menudinamico. Reviso pero no encuentro el motivo.

Última edición por rotivo; 28/02/2011 a las 05:12
  #8 (permalink)  
Antiguo 28/02/2011, 05:38
 
Fecha de Ingreso: junio-2010
Mensajes: 124
Antigüedad: 13 años, 10 meses
Puntos: 3
Respuesta: funcion javascript Firefox/Chrome

SOLUCIONADO. culpa de un z-index.

Etiquetas: funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:58.