2017-02-11 3 views
0

Ich möchte umleiten (window.location oder window.replace) auf neue URL und beim Laden dieser Seite möchte diese Seite drucken (.print()) mit jquery.Redirect und Print Page Onload mit jquery

Ich habe

versucht
window.location.replace(url).print(); 

Aber es gerade Seite umleiten und wan't die Seite drucken, eine Idee?

+0

Die Frage ist, haben Sie Zugriff auf den Code der Seite, die Sie umleiten? –

+0

@Kinduser ja ich habe, alle Zugriff auf die gesamte Website, und nur auf eine bestimmte Seite auf bestimmte Schaltfläche umleiten klicken Sie auf – Priyank

+0

@freshbm danke für die Unterstützung, aber Ihr Code nur umleiten, um URL, die ich() drucken möchte auch. – Priyank

Antwort

1

In Ihrer ersten Datei, fügen Sie folgende Skript:

<body> 
<a href="yourPageThatYouWantRedirectTo.html" onclick='func()'>Click and redirect</a> 

<script> 
function func(){ 
    localStorage.setItem('redirected', true); 
} 
</script> 
</body> 

Und in der anderen Datei, die Sie umleiten zu :

window.onload = function(){ 
    var wasRedirected = JSON.parse(localStorage.getItem('redirected')); 
    if (wasRedirected == true) { 
    window.print(); 
    localStorage.clear(); 
    } 
} 
+0

धन्यवयवद, läuft aber kann ich das besser nutzen als das? wie 'window.location.open (url) .print();' Problem mit diesem, es öffnet sich in der neuen Registerkarte – Priyank

+0

@ Priyank57 Sie möchten die Seite in der neuen Registerkarte öffnen? Oder im selben Fenster? –

+0

In derselben Registerkarte habe ich das getan, indem ich einen zusätzlichen Parameter (print) in der Umleitungs-URL übergeben habe. – Priyank

2

Fügen Sie die print() zu Ihrer onload-Funktion in der Site hinzu, die Sie drucken möchten.

window.location.replace(url) 

leitet direkt zu einer Site um. so wird print() nie aufgerufen.

Wenn dies nicht möglich ist, können Sie den folgenden Code verwenden:

function printExternal(url) { 
    var printWindow = window.open(url, 'Print', 'left=200, top=200, width=950, height=500, toolbar=0, resizable=0'); 
    printWindow.addEventListener('load', function(){ 
     printWindow.print(); 
     printWindow.close(); 
    }, true); 
} 
+0

Ich möchte die Seite nur drucken, wenn die Seite von dieser Seite umgeleitet wird. Daher kann print() beim Laden nicht verwendet werden. – Priyank

+0

also benutze den zweiten Codeblock;) – osanger