Foros del Web » Programando para Internet » Javascript »

Previsualizar una imagen en otra ventana.

Estas en el tema de Previsualizar una imagen en otra ventana. en el foro de Javascript en Foros del Web. <script language=javascript> var win=null; function mostrarimagen(url_imagen,titulo){ var img = new Image(); img.src = url_imagen; win=window.open('','','width='+img.width+',height= '+img.height+',scrollbars=no,resizable=1,toolbar=0 '); win.document.write ('<html>\n'); win.document.write (' <head>\n'); win.document.write (' <title>'+titulo+'</title>\n'); ...
  #1 (permalink)  
Antiguo 16/12/2003, 11:46
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Previsualizar una imagen en otra ventana.

<script language=javascript>
var win=null;
function mostrarimagen(url_imagen,titulo){
var img = new Image();
img.src = url_imagen;
win=window.open('','','width='+img.width+',height= '+img.height+',scrollbars=no,resizable=1,toolbar=0 ');
win.document.write ('<html>\n');
win.document.write (' <head>\n');
win.document.write (' <title>'+titulo+'</title>\n');
win.document.write (' </head>\n');
win.document.write (' <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">\n');
win.document.write (' <img src="' + url_imagen + '" height='+img.height+' width='+img.width+'>\n');
win.document.write (' </body>\n');
win.document.write ('</html>\n');
}
</script>

Tengo este codigo en javascript, para visualizar una imagen en una nueva ventana con otro tamaño.

Luego en php llamo a esa funcion:

$consult = mysql_query ("select * from $imagenes where articulos_id = '$id'",$conexion);
$num = mysql_num_rows ($consult);
for ($i = 0; $i < $num; $i++)
{
$imagen = mysql_result ($consult, $i, "imagenes_nombre");
echo "<a href=\"javascript:mostrarimagen('galeria/$imagen','$nombre')\"><img src=\"thumbs/$imagen\" border=\"0\"></a>";
}

}

El problema que tengo, es que la primera vez que le das a la imagen, se abre una ventana en grande sin la imagen. A la segunda vez ya funciona y se ve la imagen como deberia.
No entiendo que es lo que falla!

__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
  #2 (permalink)  
Antiguo 16/12/2003, 13:13
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, SeRNa.

El problema es que la primera vez te toma el ancho y el alto como cero. Si pudieras pasar el ancho y alto de la imágen a la función creo que te funcionaría usando:

function mostrarimagen(url_imagen,titulo,ancho,alto){
var img = new Image(ancho,alto);

Espero que esto te ayude. Saludos,
  #3 (permalink)  
Antiguo 16/12/2003, 14:01
Avatar de SeRNa  
Fecha de Ingreso: octubre-2003
Ubicación: Ibiza
Mensajes: 72
Antigüedad: 20 años, 6 meses
Puntos: 0
Muchas gracias JavierB. Ya lo he solucionado. Tenias razon, era el ancho y el alto que no lo cogia la primera vez.
__________________
Una de las ventajas de ser desordenado es que uno está haciendo continuamente descubrimientos
  #4 (permalink)  
Antiguo 16/12/2003, 14:34
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
No hay de que. En una ocasión me ocurrió algo parecido y tuve que estar un rato enredando con el código, así que esta vez he jugado con ventaja.

Saludos,
  #5 (permalink)  
Antiguo 26/12/2003, 09:33
 
Fecha de Ingreso: septiembre-2002
Ubicación: Argentina
Mensajes: 144
Antigüedad: 21 años, 7 meses
Puntos: 0
Disculpen que me meta pero como se hace para imprimir de la misma forma que previsualizar una imagen en otra ventana.
  #6 (permalink)  
Antiguo 22/01/2004, 14:31
Avatar de indiestudio  
Fecha de Ingreso: julio-2003
Mensajes: 163
Antigüedad: 20 años, 9 meses
Puntos: 1
pon la solucion por favor
  #7 (permalink)  
Antiguo 22/01/2004, 14:42
Avatar de indiestudio  
Fecha de Ingreso: julio-2003
Mensajes: 163
Antigüedad: 20 años, 9 meses
Puntos: 1
pon la solucion por favor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:50.