Domanda

Ho applicazione di finestra pop-up aperta alla pagina stampare.

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();
}

Questo script sta funzionando benissimo in IE, ma in Firefox / Chrome. Funzione print() si sovrappone window.open, di conseguenza la finestra di dialogo di stampa sta mostrando prima mentre lo schermo è ancora carico. Ho bisogno di dialogo di stampa vicini al fine di rendere la pagina in modo corretto, allora la stampa manuale.

Si prega di avvisare.

È stato utile?

Soluzione

Come indicato nel tuo commento, gli URL da stampare sono sullo stesso dominio. Non è possibile accedere al contenuto delle altre finestre in modo da avere per impostare un codice sulla finestra spuntato che chiamerà la gara di apertura a raccontarla ha aperto.

popup.html

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

main.html

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

Altri suggerimenti

Esegui stampa dopo che la pagina viene caricata, per es.

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

(non testato)

Suggerisco di chiamare window.print() nella pagina che è caricata nel pop-up piuttosto che in apertura.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top