JavaScript實現點擊按鈕直接列印_javascript技巧

來源:互聯網
上載者:User

很多網站都有此功能,當瀏覽到底部時都會有一個列印按鈕,點擊列印按鈕就可以完成列印功能,功能非常不錯,人性化,代碼非常的簡單。

<a href="javascript:window.print()">雲棲社區</a> 

也就是只要調用window.print()函數就可以實現列印當前頁面。

但是上面的並不完美,因為有些網頁上的很多內容都不需要列印,下面介紹一下如何列印頁面中的指定內容。

代碼如下:

<!DOCTYPE html><html><head><meta charset=" utf-8"><meta name="author" content="http://www.jb51.net/" /><title>指定被列印的內容</title><script language="javascript"> function printdiv(printpage) { var newstr = printpage.innerHTML; var oldstr = document.body.innerHTML; document.body.innerHTML =newstr; window.print(); document.body.innerHTML=oldstr; return false; } window.onload=function(){var bt=document.getElementById("bt");var div_print=document.getElementById("div_print");bt.onclick=function(){printdiv(div_print);}}</script> </head> <body> <div id="div_print"> <h1 style="Color:Red">這是要被列印的內容</h1> </div><div style="Color:Red">歡迎您</div> <input name="print" type="button" id="bt" value="點擊列印" /> </body> </html> 

特別說明:預覽列印需要將代碼複製到本機測試,否則會出錯。

以上代碼實現了列印網頁指定內容的效果,下面簡單介紹一下實現過程。

一.實現原理:

在js代碼中使用document.body.innerHTML =newstr,動態原來body中的內容替換為要列印的內容,在列印過後,在將原來的內容還原,原理就是這麼簡單,具體可以參閱代碼注釋。

二.代碼注釋:

1.function printdiv(printpage){},聲明一個控制列印的函數,參數是一個對象,這個對象中的內容將要被列印。
2.var newstr = printpage.innerHTML; ,擷取要列印的內容。
3.var oldstr = document.body.innerHTML,原來body中的內容。
4. document.body.innerHTML =newstr,用將要列印的內容替換原來body中的內容。
5.window.print(),開始列印。
6.document.body.innerHTML=oldstr,再將原來body中的內容還原。

三.相關閱讀:

1.window.print()函數可以參閱window對象的print()方法一章節。
2.onclick事件可以參閱javascript的onclick事件一章節。

以上內容比較簡單,並有單獨的代碼注釋協助大家學習js實現點擊按鈕就列印功能,希望本文對大家有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.