最近有朋友問(wèn)js 如何打印預(yù)覽,今天就來(lái)講解一下,首先了解一下打印原理,其實(shí)局部打印頁(yè)面很簡(jiǎn)單。就是把你需要打印的部分做一個(gè)起始標(biāo)記,至于標(biāo)記如何寫(xiě),隨便你寫(xiě)什么。我這里就寫(xiě) <!--startprint--> 需要打印的內(nèi)容
<!--endprint-->. 因?yàn)闃?biāo)記是不需要讓用戶(hù)看見(jiàn)的所以加了注釋?zhuān)【唧w實(shí)現(xiàn)代碼如下:
<!DOCTYPE html> <html> <head> <title>打印預(yù)覽簡(jiǎn)單實(shí)現(xiàn)</title> </head> <body> <div> 這是body 里的內(nèi)容不需要打印,具體的頁(yè)面設(shè)計(jì)根據(jù)自己的要求自行設(shè)計(jì)。如果需要一個(gè)頁(yè)面多個(gè)tag,可以動(dòng)態(tài)生成tag </div> <!--startprint--> <div> 這是我需要打印的內(nèi)容 </div> <!--endprint--> <script type="text/javascript"> function preview() { var bdhtml=window.document.body.innerHTML;//獲取當(dāng)前頁(yè)的html代碼 var startStr="<!--startprint-->";//設(shè)置打印開(kāi)始區(qū)域 var endStr="<!--endprint-->";//設(shè)置打印結(jié)束區(qū)域 var printHtml=bdhtml.substring(bdhtml.indexOf(startStr)+startStr.length,bdhtml.indexOf(endStr));//從標(biāo)記里獲取需要打印的頁(yè)面 window.document.body.innerHTML=printHtml;//需要打印的頁(yè)面 window.print(); window.document.body.innerHTML=bdhtml;//還原界面 } preview(); </script> </body> </html>新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注