2016-03-30 1 views
-1

Ich verwende die folgende Funktion, um ein Ziel Div mit JS zu drucken. Dies funktioniert in allen Browsern außer Chrome. Die Konsole gibt den Fehler aus: PrintElem ist nicht definiert.JS Funktion zum Drucken div - Funktioniert nicht in Chrome?

function PrintElem(elem) { 
     Popup($(elem).html()); 
    } 

    function Popup(data) { 
     var mywindow = window.open('', 'to_print', 'height=600,width=800'); 
     var html = '<html><head><title></title>' + 
        '</head><body onload="window.focus(); window.print(); window.close()">' + 
        data + 
        '</body></html>'; 
     mywindow.document.write(html); 
     mywindow.document.close(); 
     return true; 
    } 

Ich habe versucht, die Funktion aufrufen mit folgendem onclient klicken:

PrintElement('[id$=divExport]'); 
PrintElement('divExport'); 
PrintElement('#divExport'); 
PrintElement('#ctl00_body_ucJobDetails_divExport'); 
PrintElement('ctl00_body_ucJobDetails_divExport'); 

Es funktioniert in Firefox und unglaublich in IE 9 und 11!

Jeder Rat würde sehr geschätzt werden.

+0

Einige jsfiddle Probe wäre nett! –

+0

Wenn ich diesen Code sehe, nehme ich an, dass PrintElement nicht definiert ist. –

+0

Ich denke 'PrintElement' ist ein Tippfehler und soll' PrintElem' sein. –

Antwort

0

Ihr Funktionsname ist PrintElem(). Aber Sie nennen es als PrintElement(). Abgesehen davon sehe ich kein anderes Problem.

Und verwenden Sie diese Zeile.

PrintElem('#divExport');

+0

Wenn das stimmt, schließen Sie das bitte, weil es sich um einen Tippfehler handelt. –

+0

Danke für deine Antworten ... Sorry, das war ein Tippfehler! Ja, ich benutze tatsächlich PrintElem – TAR

+0

@TAR ist es wegen dieser 'mywindow.document.close();' Was der Zweck dieser Zeile? –