當(dāng)前位置:軟件學(xué)堂 > 資訊首頁 > 網(wǎng)絡(luò)編程 > 編程其他 > JS實(shí)現(xiàn)隱藏不想打印的頁面內(nèi)容

JS實(shí)現(xiàn)隱藏不想打印的頁面內(nèi)容

2012/11/9 20:55:09作者:佚名來源:網(wǎng)絡(luò)

移動端

【實(shí)例名稱】

JS實(shí)現(xiàn)隱藏不想打印的頁面內(nèi)容

【實(shí)例描述】

web頁面的打印通常通過調(diào)用IE自帶的打印功能,但此功能的缺點(diǎn)是只能打印頁面中所有內(nèi)容。如何只打印網(wǎng)頁的一部分,而去掉那些不需要打印的內(nèi)容呢?本例用一個(gè)變通的方法實(shí)現(xiàn)了局部頁面的打印。

【實(shí)例代碼】

<HTML> <HEAD> <TITLE>去除不想打印出的頁面元素-學(xué)無憂(yzddtk.cn)</title> <script type="text/javascript"> function preview()     {        //獲取頁面內(nèi)容       var bdhtml=document.body.innerHTML;        var beginstr="<!--startprint-->";        var endstr="<!--endprint-->";        //獲取要打印的內(nèi)容       var  prnhtml=bdhtml.substr(bdhtml.indexOf(beginstr)+17);        prnhtml=prnhtml.substr(0,prnhtml.indexOf(endstr));       //預(yù)覽        window.document.body.innerHTML=prnhtml        //打印       window.print() } </script> </HEAD> <BODY background="" leftMargin=0 topMargin=0 rightMargin=0 bottomMargin=0 style="BACKGROUND-POSITION: center 50%">     <!--startprint-->     <DIV align=center>     <span>這里是我需要的內(nèi)容</span>..........      </DIV>      <!--endprint-->     <div align="center"> <span>這里不是我要的內(nèi)容</span><br /> <input type="button" value="打印" onclick="preview()" />     </div> </BODY> </HTML>

【運(yùn)行效果】

                                                      初始運(yùn)行效果

隱藏不想打印的頁面內(nèi)容運(yùn)行效果

                                             單擊打印按鈕后的效果

隱藏不想打印的頁面內(nèi)容運(yùn)行效果

【難點(diǎn)剖析】

本例主要應(yīng)用的是字符串內(nèi)容的截取。在頁面中設(shè)置兩個(gè)標(biāo)記,標(biāo)記在所需內(nèi)容的開始和結(jié)束位置。首先使用“document.body.innerHTML”獲取頁面中所有內(nèi)容,然后利用字符串的“substr”方法截取需要的內(nèi)容,并更改頁面的body內(nèi)容。最后調(diào)用“window.print”方法打印修訂后的頁面。

【源碼下載】

為了JS代碼的準(zhǔn)確性,請點(diǎn)擊:JS實(shí)現(xiàn)隱藏不想打印的頁面內(nèi)容 進(jìn)行本實(shí)例源碼下載 

標(biāo)簽: JS實(shí)現(xiàn)  打印  頁面內(nèi)容