Ventana autoajustable

¿Se puede dimensionar una página a su contenido, al abrir una ventana nueva desde un enlace?
Es decir, si la página tiene solo una imagen(o una tabla) de determinado tamaño, que se ajuste automáticamente a ese tamaño.
Gracias Bruckner.
1

1 Respuesta

28.975 pts.
El titulo ha quedado algo críptico... Me explico:
Cuando abres una ventana no hay aún contenido en ella, por lo que no puedes fijar el tamaño respecto de nada (a menos que sepas cuál va a ser el tamaño de lo que va dentro, pero eso eliminaría lo de "automáticamente").
Pero una vez que el contenido ya se ha cargado de forma completa (es decir, cuando se dispara el evento onLoad del BODY) ya tienes más pistas, y puedes hacer un self. ResizeTo() desde la propia ventana para que cambie su tamaño. El problema es: ¿Cuál es el tamaño?
Si la ventana sólo contiene una imagen, el de la propia imagen. Si se llama "miImagen", será:
var ancho=document.miImagen.width;
var alto=document.miImagen.height;
Y en el onLoad de BODY:
self.resizeTo(ancho,alto);
No está de más que le sumes a ancho y alto 10 ó 15, para guardarte de los márgenes de los navegadores (o que los elimines, con los siguientes parámetros dentro del tag BODY: TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0).
Nota que para que esto funcione, el tag IMG que cargue la imagen debe tener HEIGHT y WIDTH definidos...
Ahora bien, una tabla no es lo mismo. Necesitarías usar las propiedades clientWidth y clientHeight. En Explorer:
var alto=document.all.miTabla.clientHeight;
var ancho=document.all.miTabla.clientWidth;
Para Explorer 5 y Netscape 6:
var alto=document.getElementById('miTabla').clientHeight;
var ancho=document.getElementById('miTabla').clientWidth;
Pero esas propiedades no funcionan aún en Netscape 6, y dan valores distintos según las versiones de Explorer (5, 5.5, Windows, Mac...) Así que te recomiendo que te limites a hacer esto con imágenes.
Espero haberte sido de alguna utilidad. Si tienes cualquier problema, pregúntame de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas