Pregunta

He aplicación de ventana emergente abierta para imprimir la página.

function printHTML(urlPath) {
    var printPopUp = window.open(urlPath,null,"height=600,width=777,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes");
    printPopUp.print();
}

Este script está trabajando muy bien en IE, pero en Firefox / Chrome. función print() es la superposición window.open, como resultado, el diálogo de impresión está mostrando primero mientras que la pantalla es todavía de carga. Necesito de diálogo de impresión junto con el fin de hacer que la página correctamente luego imprimir manualmente.

Por favor avise.

¿Fue útil?

Solución

Como se indica en su comentario, las direcciones URL de impresión están en el mismo dominio. No se puede acceder al contenido de las demás ventanas, así que tendrá que establecer algún código en la ventana aparecido que llamará al abridor de decir que se ha abierto.

popup.html

<script>
function onLoad() {
  if(window.opener && window.opener.popupLoaded) {
    window.opener.popupLoaded();  
  }
}
</script>
<html onload="onLoad();">

main.html

function popupLoaded() {
  popup.print();
}

Otros consejos

Ejecutar impresión después de que se carga la página, por ejemplo.

printPopUp.onload = function() { printPopUp.print() }

(no probado)

Yo sugiero llamar window.print() en la página que se carga en la ventana emergente en lugar de en el primer partido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top