angularjs 1.8 打印頁面不完整的問題

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()}
相關文章
相關標籤/搜索