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()}

转载于:https://my.oschina.net/pingheyongfeng/blog/3068893

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值