這篇文章主要介紹了js調用iframe實現打印頁面內容的方法,需要的朋友可以參考下
1、程序說明 1) 此程序可以實現選擇頁面中的區域進行打印,以iframe方式進行打印; 2) 與原生態的print() 區別在於,取消打印頁面後可以完整保留當前訪問頁面的內容。 2、代碼部分 1) JS 函數: 代碼如下: function do_print(id_str)//id-str 打印區域的id { var el = document.getElementById(id_str); var iframe = document.createElement('IFRAME'); var doc = null; iframe.setAttribute('style', 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;'); document.body.appendChild(iframe); doc = iframe.contentWindow.document; // 引入打印的專有CSS樣式,www.111Cn.net根據實際修改 doc.write("<LINK rel="stylesheet" type="text/css" href="css/print.css">"); doc.write('<div>' + el.innerHTML + '</div>'); doc.close(); iframe.contentWindow.focus(); iframe.contentWindow.print(); if (navigator.userAgent.indexOf("MSIE") > 0) { document.body.removeChild(iframe); } } 2) HTML: 代碼如下: // 打印區域: <div id="print_box"> ...... </div> // 調用打印 <button onclick="javascript:do_print('print_box');">打印</button> 3. 測試 點擊頁面上的打印按鈕,即可測試打印; 除了上面方法我們還可以通過jquery來實例,代碼如下 代碼如下: <script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript" src="jquery.PrintArea.js"></script> <script> $(document).ready(function(){ $("input#biuuu_button").click(function(){ $("div#myPrintArea").printArea(); }); }); </script> <input id="biuuu_button" type="button" value="打印"></input> <div id="myPrintArea">.....文本打印部分.....</div> 如果要實現區域打印我們可嘗試下面方法 下面本文分享一種超簡單的方法實現頁面的打印功能,不僅可以打印整個頁面,還可以打印頁面某塊區域 代碼如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script language="javascript"> function printdiv(printpage){ var headstr="<html><head><title></title></head><body>"; var footstr="</body>"; var newstr=document.all.item(printpage).innerHTML; var oldstr=document.body.innerHTML; document.body.innerHTML=headstr+newstr+footstr; window.print(); document.body.innerHTML=oldstr; return false; } </script> <title>div print</title> </head> <body> <input type="button" onClick="printdiv('div_print');" value=" 打印 "> <div id="div_print"> <h1 style="Color:Red">被打印區域:www.jb51.net</h1> </div> 這塊區域是打印不到的! </body> </html>