Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: SrTrp en 18 Octubre 2022, 06:09 am



Título: Despues de usar 1 vez windows.print() me deja de mostrar las imagenes [JS]
Publicado por: SrTrp en 18 Octubre 2022, 06:09 am
Hola buenas noches, les comento estoy realizando algo para imprimir imágenes que seleccione, todo bien hasta el momento que vuelvo a querer a mandar a imprimir algo las imágenes ya no se previsualizan ejemplo así se ve después de mandar 1 vez.
(https://i.imgur.com/d6NhEx1.png)
Tengo que volver a recargar la pagina para poder mandar a imprimir como se debe que se ven las imágenes, si lo vuelvo a intentar sin recargar la pagina pasa lo de la imagen.
Este es mi código:
Código
  1.   $("#convertidor").click(function () {
  2.      var dc_imp = window.open('', '', 'height=400,width=800');
  3.      dc_imp.document.write('<html><head><title>PDF</title>');
  4.      dc_imp.document.write('</head><body >');
  5.  
  6.      var cc=0;
  7.      for(var i=0;i<ids_select.length;i++){
  8.        var img = document.getElementById("sst_img_"+ids_select[i]).src;
  9.        var code = $("#div_code_"+ids_select[i]).html();
  10.        dc_imp.document.write('<div style="display:table-cell;padding:10px;"><img width=390 height=390 src="'+img+'"/><br><p><strong>'+code+'</strong></p></div>');
  11.        console.log(''+img)
  12.        cc++;
  13.        if(cc==2){
  14.            cc=0;
  15.            dc_imp.document.write('<br>');
  16.        }
  17.      }
  18.      dc_imp.document.write('</body></html>');
  19.      dc_imp.document.close();
  20.      dc_imp.print();
  21.  
  22.    });
  23.  
Busque una forma de como resetear el dc_imp pero no funciono esto
Código:
dc_imp.closed();


Título: Re: Despues de usar 1 vez windows.print() me deja de mostrar las imagenes [JS]
Publicado por: MinusFour en 18 Octubre 2022, 14:19 pm
La función que cierra la ventana es window.close no window.closed. Sin ver el HTML no podríamos decir porque no se ven las imágenes. Deja la ventana abierta, dale inspeccionar al código fuente y cerciórate que el HTML sea el correcto.


Título: Re: Despues de usar 1 vez windows.print() me deja de mostrar las imagenes [JS]
Publicado por: SrTrp en 18 Octubre 2022, 16:56 pm
Cancelo la impresión de la ventana y aparecen las imágenes y el html esta perfecto


Título: Re: Despues de usar 1 vez windows.print() me deja de mostrar las imagenes [JS]
Publicado por: Danielㅤ en 18 Octubre 2022, 17:02 pm
Hola,  como sabes que el html esta perfecto?, puede suceder que entre en conflicto con tu código javascript y tal vez no te das cuenta,  por eso es mejor que nos muestres tu código e incluso algunas veces hasta te podemos sugerir mejoras en tu código.


Saludos


Título: Re: Despues de usar 1 vez windows.print() me deja de mostrar las imagenes [JS]
Publicado por: MinusFour en 18 Octubre 2022, 17:44 pm
Cancelo la impresión de la ventana y aparecen las imágenes y el html esta perfecto

Suena entonces a que todavia no cargan las imagenes.

Imprime el documento una vez que se dispare el evento de DOMContentLoaded.


Título: Re: Despues de usar 1 vez windows.print() me deja de mostrar las imagenes [JS]
Publicado por: SrTrp en 18 Octubre 2022, 19:18 pm
Hola,  como sabes que el html esta perfecto?, puede suceder que entre en conflicto con tu código javascript y tal vez no te das cuenta,  por eso es mejor que nos muestres tu código e incluso algunas veces hasta te podemos sugerir mejoras en tu código.
Saludos
Si esta bien por que cuando aparece la nueva venta y aparece así y le doy en cancelar impresión aparecen de la nada las imágenes, sea 1 o varias imagenes siempre hace lo mismo, pero si es la primera vez que lo hago aun que sean 10 o 1 las carga sin problema, el problema cuando cierro esa ventana y quiero mandar a imprimir otras me aparece como les menciono.
Esta imagen es para aclarar mas que cuando le doy cancelar aparecen las imagenes de la nada.
(https://i.imgur.com/mqwz0kP.png)
Y este es el html que me comentas esta bien no le veo ningún problema:
Código
  1. <body><div style="display:table-cell;padding:10px;"><img width="390" height="390" src="http://localhost/imgs/M0001..jpeg"><br><p><strong>M0001</strong><br>Talla:<strong>Unitalla</strong></p></div><div style="display:table-cell;padding:10px;"><img width="390" height="390" src="http://localhost/imgs/M0001.jpeg"><br><p><strong>M0001</strong><br>Talla:<strong>Unitalla</strong></p></div><br></body>
  2.  

Suena entonces a que todavia no cargan las imagenes.

Imprime el documento una vez que se dispare el evento de DOMContentLoaded.
Ya probé y nada.