Ver Mensaje Individual
  #17 (permalink)  
Antiguo 16/09/2004, 02:56
Avatar de sedinho
sedinho
 
Fecha de Ingreso: marzo-2003
Mensajes: 91
Antigüedad: 21 años, 7 meses
Puntos: 0
Ante todo perdon por marear tanto la perdiz sobre este script, pero lo estoy usando y me da problemas.

He colgado un html en www.flomeyca.com/js para que comprobeis lo que os digo (a.html es en version html y a.php es bajo php). El codigo de ejemplo es el siguiente:

Código HTML:
<html>
	<head>
		<script type="text/javascript">
			var _img_grande;

			function mostrar() {
			
				if (_img_grande.complete)
					{
					 alert ("Imagen cargada");
					}
				else
					{
					 alert ("Imagen NO cargada");
					}
			
				var ops = "top=" + ((screen.height - _img_grande.height) / 2);
				ops += ",left=" + ((screen.width - _img_grande.width) / 2);
				ops += ",width=" + _img_grande.width + ",height=" + _img_grande.height;
				var contenido = "<html><body style='background-image: url(" + _img_grande.src + ")'></body></html>";
				var ventana = window.open("", "", ops);
				alert ("Se ha hecho window.open");
				ventana.document.open();
				alert ("Se ha hecho document.open");
				ventana.document.write(contenido);
				alert ("Se ha hecho ventana.document.write");
				ventana.document.close();
				alert ("Se ha hecho ventana.document.close");
			}

			function cargando() {
				if (_img_grande.complete) mostrar();
				else setTimeout("cargando()", 100);
			}

			function abrir(imagen)	{
				_img_grande = new Image();
				_img_grande.src = imagen;
				cargando();
			}
		</script>
	</head>
	<body>
		<img src="imagenes/thumbs/a.jpg" onclick="abrir('imagenes/a.jpg')"/>
	</body>
</html> 
Ahora el problema:
En windows xp con IE 6.0, cuando intento abrir la ventana, me da el error: "document es nulo o no es un objeto". En cambio en windows 2000 con IE 5 o 6 no falla. La imagen que he colgado ocupa sobre los 500 Kb para comprobar que funciona "_img_grande.complete". He metido mensajes entre las lineas para que veais cuando falla.

Un saludo y perdon por el mareo