JavaScript window.open firefox / problema cromo
-
26-09-2019 - |
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.
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.