我有一个使用AngularJS的html页面,我想打印一个div。有没有一种方法可以做到这一点? ..或它`只是经典的JavaScript以下方式:是否有从HTML页面打印div的有效方法?
<script language="javascript" type="text/javascript">
function printDiv(divID) {
//Get the HTML of div
var divElements = document.getElementById(divID).innerHTML;
//Get the HTML of whole page
var oldPage = document.body.innerHTML;
//Reset the page's HTML with div's HTML only
document.body.innerHTML =
"<html><head><title></title></head><body>" +
divElements + "</body>";
//Print Page
window.print();
//Restore orignal HTML
document.body.innerHTML = oldPage;
}
</script>
如果AngularJS没有解决这个事情,您能否做邻的方式,不使用JavaScript函数(例如:doc.getElementById( ))..一种接近AngularJS方法的方法?
THX,
创建打印指令,也可以使用'angular.element' – tymeJV
我不会把以上代码的事业的所有事件上/ JavaScript的数据表示HTML丢失?你可以做基本相同的事情,而不会通过使用iframe或以同样的方式打开新窗口而丢失所述信息。 –
最后,我用ng-hide指令完成了它(用于隐藏所有我不想打印的元素),并在我的控制器中调用windows.print()函数。在我看来,这是迄今为止最好的解决方案。 –