Hola:
Me agrada ver que mis viejos scripts siguen siendo útiles. Sobre el tema de crear la capa puede tener algún inconveniente añadido, ya que si calculamos las dimensiones de la página (ya no hablamos de ventanas) y es menor que las dimensiones de la imagen la cosa se complica bastante, aunque siempre se puede redimensionar la imagen para que quepa...
Voy a intentar hacer las modificaciones para que funcione en páginas superiores... luego veremos...
De el mensaje solo nos hace falta la función mostrar, en donde ya podemos consultar las dimensiones de la imágen... y por cierto, en vez de una capa simplemente se podría crear un tag img.
Este es el código original:
Código:
var _img_grande;
function mostrar() {
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);
ventana.document.write(contenido);
ventana.document.close();
}
y al modificarlo:
Código:
var _img_grande;
function mostrar() {
var imagen = document.createElement("img");
var ancho = _img_grande.width;
var alto = _img_grande.height;
var x = (document.body.offsetWidth - ancho) / 2;
var y = (document.body.offsetHeight - alto) / 2;
width (imagen.style) {
position = "absolute";
top = x + "px";
left = y + "px";
border = "1px solid red";
}
document.body.appendChild(imagen);
}
Posiblementa haya que depurarlo más, pero pruébalo y nos cuentas (Lo he puesto "a capella"... y tal vez también haya que cambiar el estilo display... y el cálculo de las coordenadas en circunstancias especiales no lo he contemplado.
Saludos