html
<!--startprint1-->
<div>要打印的內容</div>
<!--endprint1-->
<div class="button_box tc_c">
<button class="btn btn-ghost" ng-click="preview(1)">打 印</button>
</div>
js
$scope.preview =function (oper){
$scope.printPage(oper); }
$scope.printPage =function (oper){
if (oper < 10){
bdhtml=window.document.body.innerHTML;//獲取當前頁的html代碼
sprnstr="<!--startprint"+oper+"-->";//設置打印開始區域
eprnstr="<!--endprint"+oper+"-->";//設置打印結束區域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //從開始代碼向後取html
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//從結束代碼向前取html
window.document.body.innerHTML=prnhtml;
document.getElementsByTagName("body")[0].style.height = document.body.scrollHeight+"px";// 這句話很重要
document.getElementsByTagName("body")[0].style.width = document.body.scrollWidth+"px";// 這句話很重要就是由於高度和寬度
不夠纔打印不全 由於我這個頁面是不完整的頁面是嵌在body裏面的頁面 是組件化頁面
console.log(prnhtml)
window.print();
window.document.body.innerHTML=bdhtml;
} else {
window.print();
}
window.location.reload()}