최근 친구가 js에서 미리보기를 인쇄하는 방법을 문의했는데, 먼저 인쇄 원리를 알아보겠습니다. 인쇄하고 싶은 부분에 시작 표시를 하면 됩니다. 표시 방법은 원하는 대로 작성하면 됩니다. 여기에 인쇄해야 할 내용을 적겠습니다
마크업은 사용자가 볼 필요가 없기 때문에 코멘트를 추가했습니다! 구체적인 구현 코드는 다음과 같습니다.
<!DOCTYPE html> <html> <head> <title>打印预览简单实现</title> </head> <body> <div> 这是body 里的内容不需要打印,具体的页面设计根据自己的要求自行设计。如果需要一个页面多个tag,可以动态生成tag </div> <!--startprint--> <div> 这是我需要打印的内容 </div> <!--endprint--> <script type="text/javascript"> function preview() { var bdhtml=window.document.body.innerHTML;//获取当前页的html代码 var startStr="<!--startprint-->";//设置打印开始区域 var endStr="<!--endprint-->";//设置打印结束区域 var printHtml=bdhtml.substring(bdhtml.indexOf(startStr)+startStr.length,bdhtml.indexOf(endStr));//从标记里获取需要打印的页面 window.document.body.innerHTML=printHtml;//需要打印的页面 window.print(); window.document.body.innerHTML=bdhtml;//还原界面 } preview(); </script> </body> </html>