angularjs 1.8 打印页面不完整的问题

原创
2019/07/03 10:53
阅读数 200

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()}
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部