Foros del Web » Programando para Internet » Javascript »

Problema al Imprimir.

Estas en el tema de Problema al Imprimir. en el foro de Javascript en Foros del Web. Hola a todos, Tengo un problemilla al intentar imprimir una pàgina. A ver si alguien me hecha una manita. Tengo el siguiente código: Código PHP: ...
  #1 (permalink)  
Antiguo 20/01/2006, 09:37
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 0
Mensaje Problema al Imprimir.

Hola a todos,

Tengo un problemilla al intentar imprimir una pàgina. A ver si alguien me hecha una manita.

Tengo el siguiente código:

Código PHP:
 
function messageWindow(titlemsgfoto,doc)
{
  var 
width="500"height="400";
  var 
left = (screen.width/2) - width/2;
  var 
top = (screen.height/2) - height/2;
  var 
styleStr 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;
  
var 
msgWindow window.open("","msgWindow"styleStr);
var 
head '<html><head><title>'+title+'</title><LINK REL="stylesheet" href="!IBI.AMP.CSSPATH;amcxx001.css"></head><body>';
 
var 
body '<table width="98%"><tr><td width="74%" valign="top"><img src="!IBI.AMP.IMGPATH;dot_not.gif" width="6" height="8" /><span class="titu18">'+title+'</span></td></tr><tr><td valign="top" class="FondoNews" id="contNews">'+msg+'</td></tr></table><input type="button" value="Imprimir" onClick="window.print()"  >&nbsp;<input type="button" value="Cerrar Ventana" onClick="window.close()"></body></html>'

msgWindow.document.write(head body);

El codigo funciona correctamente y al llamar a la función me abre una ventana nueva con el contenido que defino dentro de la variable 'body', el problema aparece al intentar imprimir.
La primera vez que entramos en la pàgina y hacemos click en imprimir la página no hace nada, en cambio, si pulsamos F5 y volvemos a pulsar el botón imprimir, responde.

Le he dado mil vueltas pero sigo sin conseguir que me imprima a la primera.
Alguna idea??

Muchas gracias de antemano!
__________________

  #2 (permalink)  
Antiguo 20/01/2006, 12:33
Avatar de ludovico2000  
Fecha de Ingreso: noviembre-2003
Ubicación: Bizkaia
Mensajes: 1.315
Antigüedad: 20 años, 5 meses
Puntos: 2
Una idea:

Ponle a la página que se abre una función que haga que se recargue según se cargue; es decir, que body onload llame a función reload()
  #3 (permalink)  
Antiguo 20/01/2006, 14:52
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
Cita:
Iniciado por ludovico2000
Una idea:

Ponle a la página que se abre una función que haga que se recargue según se cargue; es decir, que body onload llame a función reload()
Perdonen si esta mal lo que digo (todavia estoy aprendiendo), pero ¿con eso no entraria en un loop infinito? porque cuando se vuelva a cargar volveria a ejecutar la función.

Saludos.
  #4 (permalink)  
Antiguo 23/01/2006, 08:30
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 0
Yo estoy de acuerdo con DarioDario.
Al hacer un body onload cada vez que recargue la página me volvera a hacer un reload() a no ser que le pase algun parametro.

De todas formas, gracias por el interes!
__________________

  #5 (permalink)  
Antiguo 23/01/2006, 09:57
Avatar de pinchoso  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 0
Solucionado! Al final he hecho un reload onClick en el boton de imprimir (window.location.reload()) y un body onload="window.print()".

Como la primera vez en onload no se ejecuta al hacer click sobre imprimir recargamos la página y obligamos a ejecutar el onload!

I win. =)

P.
__________________

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 21:24.