打印页面的局部dom

目前有个管理后台,页面中含有部分指令,需要打印订单信息,想到的是用window.print(),但问题是只需要打印部分
1.方式一:
首先获取页面dom,暂时存放,再获取打印部分的dom,赋值给window.document.body.innerHTML,等打印完毕,再将存放的dom赋值给window.document.body.innerHTML,问题是,页面的指令在打印后,失效

      var tempHtml = window.document.body.innerHTML;
      var prnhtml = $('.dialog_warp .print-body').html();
      window.document.body.innerHTML = prnhtml; //把需要打印的指定内容赋给body.innerHTML
      window.print(); //调用浏览器的打印功能打印指定区域
      window.document.body.innerHTML = tempHtml; //重新给页面内容赋值;

2.方式二:
新创建一个页面,将打印区域的内容赋值给新页面的window.document.body.innerHTML,待打印完之后,关闭新页面,问题是页面不出现内容,或者打印之后不关闭页面
http://bbs.csdn.net/topics/39...

 var p='<html><head><title>订单打印</title></head><body>'+$('.dialog_warp .print-body').html()+'</body></html>';
      var w = window.open('about:blank');
      w.document.write(p);
      
      w.print();
      w.close();
阅读 5.2k
1 个回答

折腾这个干嘛,上插件啊
jqprint

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进