Ich habe eine einzelne Seite Web-Anwendung mit angularJS. Ich muss ein div bestimmter Seite drucken. Ich habe versucht, die folgenden:Drucken Sie ein Div mit Javascript in angularJS einzelne Seite Anwendung
Die Seite einige div enthält (print.html)
<div>
<div>
Do not print
</div>
<div id="printable">
Print this div
</div>
<button ng-click="printDiv('printableArea');">Print Div</button>
</div>
Der Controller folgende Skript hat:
$scope.printDiv = function(divName) {
var printContents = document.getElementById(divName).innerHTML;
var originalContents = document.body.innerHTML;
document.body.innerHTML = printContents;
window.print();
document.body.innerHTML = originalContents;
}
Dieser Code druckt die gewünschten div aber es gibt eine Problem. Die Anweisung document.body.innerHTML = originalContents;
ersetzt den Körper der gesamten Anwendung, da es ein SPA ist. Wenn ich also die Seite aktualisiere oder erneut auf die Druckschaltfläche klicke, wird der gesamte Inhalt der Seite gelöscht.
Bitte eine Geige mitnehmen. – Quinn