2016-03-30 1 views
0

Ich habe die Druckfunktion erstellt, die in Chrom funktionieren gut, aber in firefox seinen Druck leerer Seite. weil der Druckdialog vor dem vollständigen Laden der PDF-Datei erscheint, wenn wir "ok" drücken, wird die Druckaktion ausgeführt. Frage ist, wie man eine Verzögerung zum Druckdialog hinzufügt, um nach dem vollständig geladenen PDF zu erscheinen.Wie fügt Verzögerung in Print Dialog, bis Seite oder PDF vollständig geladen öffnen: JS

Hier ist mein Code:

function printPDF(url) 
    { 

    var w = window.open(url); 

    var FIREFOX = /Firefox/i.test(navigator.userAgent); 
    if (FIREFOX) { 
    if (typeof w.print === 'undefined') {  
    setTimeout(function(){printPDF(url);},3000); 
    } else { 
    w.print(); 
    } 

    }else{ 

     w.print(); 
     } 
    } 
+0

Was ist Ihre Frage? Was bekommst du als Fehlermeldung? – T0xicCode

+0

@ T0xicCode Eigentlich habe ich mehrere PDF-Dokumente auf dieser Seite jeder haben Druckoption darunter, aber wenn ich versuche, es zu drucken geben Sie mir schwarze Seite nicht die eigentliche PDF: http://drnullman.mxcounters.com/?page_id=2505 – Xabby

+0

vielleicht können Sie es als Popup öffnen und dann drucken. –

Antwort

0

Ich vermute, dass Sie eine leere Seite bekommen, weil das Fenster ‚w‘ keine druckbaren Text enthält. Das PDF wird über ein Plugin geöffnet, das außerhalb Ihrer w.print() liegt; Anfrage.

var w = window.open(url); 
w.print(); 

Ich vermute, Ihre Möglichkeiten sind begrenzt - das Plugin öffnet das PDF - ein anderes Plugin eine andere js Bibliothek haben könnte so eine universelle Lösung nicht zur Verfügung.

+0

So Was ist die beste Praxis, solche Aufgaben zu tun haben Sie irgendwelche alternativen: @fiprojects – Xabby

+0

Sorry, aber ich habe keine Ahnung - ich habe noch nie Javascript und PDF-Dateien kombiniert haben ... haben Sie versucht: http://stackoverflow.com/questions/16239513/print-pdf-directly-from-javascript –

+0

Interessante verwandten Punkt hier gemacht: http://stackoverflow.com/a/16239608/4278933 –