Foros del Web » Programando para Internet » Javascript »

body onload="mifuncion();"

Estas en el tema de body onload="mifuncion();" en el foro de Javascript en Foros del Web. Hola tengo una función que quiero que se ejecute cuando cargue la página, en internet explorer funciona perfectamente, pero en firefox no me funciona, alguien ...
  #1 (permalink)  
Antiguo 25/07/2008, 04:34
 
Fecha de Ingreso: mayo-2005
Ubicación: Castellón
Mensajes: 321
Antigüedad: 19 años
Puntos: 0
Pregunta body onload="mifuncion();"

Hola tengo una función que quiero que se ejecute cuando cargue la página, en internet explorer funciona perfectamente, pero en firefox no me funciona, alguien sabe porque?? Os pongo el código

Cita:
function ver_texto(){
document.getElementById("texto_empresa_contenedor" ).style.visibility="visible";
}
</script>
</head>
<body onload="ver_texto();">
Y en el css tengo esto:

Cita:
#texto_empresa_contenedor{
visibility:hidden;
}
Saludos


.... pues bueno lo que necesito es más raro......... a ver.... he estado probando unas cosilas y he visto que el onload funciona perfecto en firefox, mi problema es que yo tengo un bloque de texto en la página el cual se pagina por medio del jquery_pager.js y para que no se me muestre todo el texto y después la paginación (esto es un segundo) lo que hago es que cuando esté cargada la página me muestre el contenedor del texto pero en ie me lo pagina y en firefox no... entonces me gustaría saber como puedo hacer para distinguir en que navegador se está visualizando la página o si a alguien se le ocurre otra solución será bienvenida...

Gracias

Pues bueno parece que está solucionado, os cuento, lo que he hecho ha sido poner la función del paginador dentro de la función ver texto después de
Cita:
document.getElementById("texto_empresa_contenedor" ).style.visibility="visible";
y ya va!

Saludos :)

Última edición por tyrula; 25/07/2008 a las 04:57
  #2 (permalink)  
Antiguo 25/07/2008, 05:18
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: body onload="mifuncion();"

Si usas jQuery, no necesitas andar tocando el <body onload="xxxx">. Puedes hacerlo de forma mucho más apropiada haciendo esto:

Código HTML:
<script type="text/javascript">
$(document).ready(function() {
    //Todo lo que pongas aquí se ejecuta cuando se haya cargado la página
});
</script> 
  #3 (permalink)  
Antiguo 25/07/2008, 06:02
 
Fecha de Ingreso: mayo-2005
Ubicación: Castellón
Mensajes: 321
Antigüedad: 19 años
Puntos: 0
Respuesta: body onload="mifuncion();"

Funciona perfecto! En un principio ejecutaba el onload y esto... como ves soy muy nueva en esto

Gracias!
  #4 (permalink)  
Antiguo 25/07/2008, 10:13
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: body onload="mifuncion();"

OH rayos. Usar jquery para lograr un onload. Eso es simplemente uso excesivo de una librería de ese tipo. Cuanto pesa el archivo que cargas (El jquery)?
Mejor usa metodos del DOM estandar.
adEvent por Scott Andrew:
Código:
function addEvent(elem, evType, func, useCapture){
		if(elem.addEventListener){
			elem.addEventListener(evType, func, useCapture);
			return true;
		}else if(elem.attachEvent){
			var r = elem.attachEvent('on' + evType, func);
			return r;
		}else{
			elem['on' + evType] = func;
		}
	}
La función toma 4 parámetros.
1 el elemento al que se le aplicara la función, aquí puedes pasar desde window hasta un simple p o cualquier otro elemento.
2 El tipo de evento, onload, onclick, onblur, onfocus etc.
3 La función
4 Use Capture generalmente se pone en false. Este ultimo parametro esta relacionado con el event capture.


O la función addLoadEvent de Scott Andrew.

Podrías incluso combinar las dos para asegurarte que si el navegador no soporta los métodos DOM, la parte final de la primera función no reescribirá un evento asignado anteriormente a cierto elemento.

Por cierto, cuando digo uso exesivo, me refiero al hecho de que no deveria utilizarse una libreria de esas para algo tan simple como un onload.

Oh no había visto que ya estás usando jQuerry. En tal caso la opción que se te dio anteriormente es mucho mejor que usar eventos en linea. De cualquier modo dejo aca este mensaje por si a alguien le sirve.
__________________
twitter: @imbuzu
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 13:06.