ho appena trascorso 45 minuti su questo problema "semplice", cercando di farlo il mio modo di volevo che funzionasse
Avevo un'immagine all'interno di un tag img, generato dinamicamente da un plug-in jQuery Barcode
che dovevo stampare. Volevo che stampasse in un'altra finestra e poi chiudesse la finestra. Tutto ciò avrebbe dovuto succedere dopo che l'utente ha fatto clic su un pulsante all'interno di un plug-in , all'interno di una finestra di dialogo jQuery-UI
insieme a un extender di dialogo jQuery-UI
ad esso applicato.
Ho regolato tutte le risposte fino a quando ho finalmente trovato questo, forse può aiutare qualcuno.
w = window.open(document.getElementById("UB-canvas").src);
w.onload = function() { w.print(); }
w.onbeforeunload = setTimeout(function() { w.close(); },500);
w.onafterprint = setTimeout(function() { w.close(); },500);
Il setTimeout
non è solo per merda e risatine, è l'unico modo che ho trovato Firefox 42
avrebbe colpito tali funzioni. Sarebbe semplicemente saltare le funzioni .close()
finché non ho aggiunto un punto di interruzione ad esso, quindi ha funzionato perfettamente. Quindi suppongo che abbia creato quelle istanze di finestre prima che potesse applicare la funzione di evento onbeforeload e le funzioni di evento onafterprint, o qualcosa del genere.
Freddo. Ma cosa succede se voglio un'immagine diversa per mostrare che inizia la finestra popup? – andrew
Controlla gli stili CSS per la stampa. Puoi fondamentalmente avere un'immagine nascosta nella visualizzazione dello schermo e quindi visibile per la visualizzazione di stampa. –