Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/10/2003, 23:08
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Hola todos.

pouhy :es posible que te estés explicando bien, pero que yo no entienda. En vez de confirmar explicando lo que creo entender, prefiero dejar algunos datos por si te sirven.

Voy a empezar con unas obviedades que seguro todos nosotros sabemos, pero que a muchos novatos que visitan el foro para aprender HTML o JavaScript le pueden ser útiles.

Al abrir una ventana o una nueva ventana se le puede dar un tamaño de varias maneras, pero es para la ventana y no para el documento. Si hay que guardar alguna relación entre el tamaño de ambos nos encontramos con un par de problemas.

Uno es que las ventanas no son todas iguales; quiero decir, cada usuario configura la ventana de su navegador como se le viene en gana, con la cantidad de barras y tamaños de botones que más le gustan. Salvo en el caso de open("","",""), que nos permite abrir una nueva ventana con nuestras propiedades de barras personalizadas ( p.e.: solo con título ), habrá que aceptar que en una ventana de tamaño fijo las buttonbar, addressbar, scrollbar, statusbar nos van a quitar espacio al documento y pueden llegar a ocultarle una parte; lo que nos obliga a hacer una "redimensión dinámica" de la ventana una vez abierta teniendo en cuenta todos los elementos que la componen.
NOTA : antes de seguir, quiero aclarar que no es totalmente cierto que no se puedan modificar el aspecto de una ventana después de abrirla, pero el mecanismo es complicado, no funciona en todos los navegadores ni sistemas operativos, y escapa a los alcances de éste mensaje en el foro de javascript.

El segundo problema tiene que ver, justamente, con el documento. Nosotros podemos proponer un diseño, pero el visitante también lo puede abrir como más le guste, o como pueda su browser. Me refiero a que puede cargar la página sin objetos, con el tamaño del contenido ampliado, reemplazando imágenes con marcadores, con una fuente distinta ... Ésto último es lo más común. Si el navegador no encuentra la fuente propuesta, la va a reemplazar con otra, y puede que sea de un tamaño o espaciado distintos, lo que va a desacomodar el documento y tendremos que ajustar las medidas de nuevo.

Lo que quiero decir es que, o preservamos la composisión del documento y dejamos que la ventana ocupe su propio tamaño, o mantenemos la dimensión de la ventana y que el contenido se acomode como pueda.

Como el último caso es muy fácil, dejo un ejemplo del primero.

AjustaContenido.htm
Código:
<HTML>
<HEAD>
<SCRIPT>

var cambioTamanio=false;
var anchoVentana=175; /*ANCHO APROX. DE LA VENTANA AJUSTADA AL CONTENIDO*/
var altoVentana=420; /*ALTO APROX. DE LA VENTANA AJUSTADA AL CONTENIDO*/

function ajustaDocumentoInicio(){
cambioTamanio=false;
window.resizeTo(anchoVentana,altoVentana);
altoDocumento=document.body.clientHeight;
anchoDocumento=document.body.clientWidth;
altoDiv=contenedor.offsetHeight;
anchoDiv=contenedor.offsetWidth;
altoBarras=altoVentana-altoDocumento;
anchoBarras=anchoVentana-anchoDocumento;
altoVentana=altoDiv+altoBarras;
anchoVentana=anchoDiv+anchoBarras;
window.resizeTo(anchoVentana,altoVentana);
cambioTamanio=true;
}

function ajustaDocumentoRedimension(){
if(cambioTamanio){
window.resizeTo(anchoVentana,altoVentana);
}
}

</SCRIPT>
</HEAD>
<BODY onresize="ajustaDocumentoRedimension()" 
onload="ajustaDocumentoInicio()" leftmargin=0 topmargin=0 scroll=no>

<div id=contenedor style="font:bold 20px sans-serif; padding=10px; 
background:bisque; /*width:155px; height:235px;*/ ">
QWERTYUIOP <br>QWERTYUIOP <p>.<p>.<p>Qwertyuiop
<br>qwertyuiop.</p></div>

</BODY>
</HTML>
Para abrir como nueva ventana se puede usar
<input type=button onclick="open('AjustaContenido.htm','ac','toolbar= no,location=no,directories=no,status=no,menubar=no ,scrollbars=no,resizable=no')" value="NUEVA"> en el documento opener.

Las variables anchoVentana y altoVentana son las medidas más aproximadas a lo que queremos ver, después el escript va a hacer los ajustes para el navegador cliente. (es para IE)
Cambiando la fuente sans-serif por otras se puede ver cómo se acomoda la ventana al nuevo tamaño del DIV.

Dejo un par de enlaces que pueden ser útiles

saludos

furoya

SCALE http://www.conexion.com.py/~sgrillo
http://www.forosdelweb.com/s4b606151...msg145248.html

Última edición por furoya; 15/10/2003 a las 06:52