Y estaba yo tan contento con una ventana con aspecto de Popup abierta con este código
<script language="JavaScript">
function url() {
hidden = window.open('ampliacion.aspx','miFoto','edge: Raised; center: Yes; help: No; resizable: No; status: No');
}</SCRIPT>
y en cuyo interior había un image declarado tal que así
<asp:image id="Foto" style="Z-INDEX: 101; LEFT: 2px; POSITION: absolute; TOP: 0px" runat="server"></asp:image>
Cuya imageurl le pasaba gracias a una variable global en el evento Load del formulario
Con lo que la imagen aparecía con su tamaño original y todos eramos felices.
Entonces me di cuenta de que las imagenes no siempre iban a medir 640x480, pudiendo haber algunas en vertical y que el popup no se adaptaba a ellas si le quitaba el codigo con el que le establecia un tamaño fijo, que por cierto, era:
<script language="JavaScript">
self.resizeTo(640,480);
</SCRIPT>
La página principal tambien tiene un self.resize, y si le quito el suyo al popup, aparece con el tamaño de la página principal (que coincide con el tamaño de las fotos en un 0,00000000 % de las veces.
Tengo una ligera idea de como podría solucionar esto, pero me gustaría evitar en todo lo posible las funciones javascript, que me traen por la calle de la amargura.
Tengo varias ideas y no sé como implementar ninguna
1-Si pusiera como imagen de fondo del popup la imagen que ahora le estoy pasando al image "Foto" sin mencionarle por ninguna parte widths ni Heigths... ¿Al cargarse el popup se ajustaría solo al tamaño de su imagen de fondo, o pasaría como ahora, que toma el mismo tamaño de la página que lo ha activado?
2-Si no tuviese mas remedio que usar el javascript con Self Resize podría obtener la altura y el ancho de la imagen con estas funciones:
Function Alto()
Return Foto.Height.Value()
End Function
Function Ancho()
Return Foto.Width.Value
End Function
Pero... ¿podría pasárselos por parametro a una función Resizer tal que así...
<script language="JavaScript">
function Resizer(alto,ancho)
{ self.resizeTo(ancho,alto);
}
</SCRIPT>
... y llamarla en alguna parte para que se ejecutase al cargarse la página, sin que me dé problemas porque aun no se halla cargado algun valor y lo que le pase sean valores nulos?
3-Comprobar el tamaño de la imagen en el principal y al abrir el popup especificarselo. Esta me parece la solución más profesional, pero tambien la más jodida, porque me obligaría a estar pasando valores de un script a otro como un poseso (teniendo en cuenta que quiero usar el javascript lo menos posible) o reescribir buena parte de programa.
¿Con cual os quedarias?
-1
-2
-3
-4 (que yo desconozco)
Y... ¿Como se haría la elegida?