28/01/2011, 08:44
|
| | Fecha de Ingreso: noviembre-2010
Mensajes: 65
Antigüedad: 14 años, 1 mes Puntos: 0 | |
Respuesta: Declaración de imagenes globales Hola! Os cuento lo que yo he visto...
1) Sobre el tema "onload vs complete". Complete he leído que no es estandar. Y del "no estandar" a "dar problemas" hay un paso... Así que me interesé por el onload. Y me va de maravilla!! Incluso en las recargas de página. No me da problemas... Es más, le he encontrado una utilidad muy interesante, lo utilizo para vaidar si la URL de la imagen que me pasan es correcta ( Si lo es, onload lanza el proeco de inserción, si no lo es, muestro un mensaje de error a partir del evento onerror )
2) Pues yo sigo viendo que, como mínimo FF, tiene problemas con las declaraciones de imágenes a nivel global. Os muestro un ejemplo muy simple:
<html>
<head>
<script>
var v_imagen = new Image();
v_imagen.src = "http://jonlabiano.files.wordpress.com/2010/02/basket5.jpg";
function fun_inicio()
{
v_imagen.onload = function()
{
alert ("Entra");
document.getElementById("id_img").width = "100";
document.getElementById("id_img").height = "100";
document.getElementById("id_img").src = v_imagen.src;
}
}
</script>
</head>
<body onload="javascript:fun_inicio();">
<table><td><img id="id_img" src=""></td></table>
</body>
</html>
El onload del body llama a una función. Esta, carga la imagen "id_img". La imagen se obtiene de un objeto "Image" definido a nivel global. En este caso, no carga la imagen. Pero, si escribimos la declaración del objeto dentro de la función sí que va:
<html>
<head>
<script>
function fun_inicio()
{
var v_imagen = new Image();
v_imagen.src = "http://jonlabiano.files.wordpress.com/2010/02/basket5.jpg";
v_imagen.onload = function()
{
alert ("Entra");
document.getElementById("id_img").width = "100";
document.getElementById("id_img").height = "100";
document.getElementById("id_img").src = v_imagen.src;
}
}
</script>
</head>
<body onload="javascript:fun_inicio();">
<table><td><img id="id_img" src=""></td></table>
</body>
</html>
Es posible que haga algo mal ;) Pero, si no es así, el FF no me está pillando la definición global de la imagen.
Eso es lo que he visto... Perdonar tanto rollo, pero siempre que llego a alguna conclusión la comento en el foro. Ya que vosotros me dedicais tiempo, yo trato de corresponder al foro. jeje ademas... la de cosas que me habéis enseñado!! ( y las que quedan... ).
Saludos. |