2016-08-29 4 views
1

Ich habe eine Seite, wo die HTML-Elemente befinden und Druckfunktion wird über Javascript am Ende aufgerufen.
zum vorherigen Fenster gehen automatisch nach dem Drucken Dialog schließt

<script type="text/javascript"> 
$(document).ready(function(){ 
    window.print(); 
    window.history.back(); 
}) 
</script> 

jetzt habe ich diesen Code Benutzer nach dem Druck umgeleitet oder wenn Abbrechen geklickt wird. Es funktioniert lokal, aber im Live-Server geht es sofort zur vorherigen Seite.

Antwort

2

verwenden zur vorherigen Seite zurückzukehren

$(document).ready(function() { 
    window.print(); 
    history.go(-1); 
}); 

oder:

$(document).ready(function() { 
    window.print(); 
    history.back(); 
}); 
0

Vielleicht sollten Sie versuchen, in einem neuen Fenster zu drucken?

Etwas wie folgt aus:

var myWindow=window.open('','','width=200,height=100'); 
    myWindow.document.write("<p>This is 'myWindow'</p>"); 
    myWindow.document.close(); 
    myWindow.focus(); 
    myWindow.print(); 
    myWindow.close(); 
    myWindow.history.back(); 

Referenz: JavaScript window.print() not working

+0

danke für die schnelle Antwort, aber Druckfunktion funktioniert gut, was ich brauche ist, wenn Druck oder Abbrechen-Taste angeklickt wird, sollte es die Seite auf die vorherige umleiten. – Regolith

2

könnten Sie mit window.onafterprint Funktion versuchen.

Das afterprint Ereignis wird, nachdem der Benutzer druckt angehoben oder bricht einen Druck Dialog.

Leider only works in FF & IE

Also für Ihren Code (und nur für FF & IE), werde ich versuchen, mit so etwas wie:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     window.print(); 
    }) 
    window.onafterprint = function() { 
     history.go(-1); 
    }; 
</script> 

Nun für Webkit-basierten Browser Verwenden Sie MatchMedia ('print') ...
Etwas wie ...

var mediaQueryList = window.matchMedia('print'); 
mediaQueryList.addListener(function(mql) { 
    if (mql.matches) { 
     console.log('onbeforeprint equivalent'); 
    } else { 
     console.log('onafterprint equivalent'); 
    } 
}); 

Quelle:
WindowEventHandlers.onafterprint
Detecting Print Requests with JavaScript
onbeforeprint and onafterprint is not working in Chrome and IE?

Verwandte Themen