在網頁中新增點選列印功能

antzone發表於2017-04-13

本章節分享一段程式碼例項,它實現了列印網頁指定部分內容的功能。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
.container {
  color:red;
  font-size: 14px;
}
</style>
<script type="text/javascript">
var global_Html = "";
function printme() {
  global_Html = document.body.innerHTML;
  document.body.innerHTML = document.getElementById('divPrint').innerHTML;              
  window.print();
  window.setTimeout(function() {
    document.body.innerHTML = global_Html;
  }, 1500);
}
</script>
</head>
<body>
<div>其他內容</div>
<div class="container" id="divPrint">要被列印部分</div>
<div>其他內容</div>
<a href="javascript:printme()" target="_self">點選列印</a>
</body>
</html>

上面的程式碼實現了列印功能,下面對它的實現過程做一下簡單介紹。

一.程式碼註釋:

(1).var global_Html = "",宣告一個變數並賦值為空,用來儲存原來所有的body中的html內容。

(2).function printme() {},此函式實現了列印功能。

(3).global_Html = document.body.innerHTML,將原來body中的所有html內容暫存在變數global_Html中。

(4). document.body.innerHTML = document.getElementById('divPrint').innerHTML,因為通常我們只需要列印網頁中需要的部分,而不是整個頁面,所以將需要列印的內容的html內容設定為body的html內容。因為點選列印,預設就是列印body中的內容。

(5). window.print(),進行列印。

(6).window.setTimeout(function() {

  document.body.innerHTML = global_Html;

}, 1500),1.5秒後將內容還原。

二.相關閱讀:

(1).innerHTML可以參閱innerHTML一章節。

(2).print()可以參閱window.print()一章節。

(3).setTimeout()可以參閱setTimeout()一章節。

相關文章