Js calls the iframe implementation of the method to print the content of the page

  • 2020-03-30 02:12:55
  • OfStack

1. Program description

1) this program can select the area of the page to print, and print in the mode of iframe;
2) the difference from original print() is that the contents of the currently visited page can be completely retained after the page is unprinted.

2. Code part

1) JS function:


function do_print(id_str)//Id-str prints the id of the region
{
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;
//Introduction of proprietary CSS styles for printing, www.111Cn.net as the case may be
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:


//Print area:
<div id="print_box">
......
</div>
//Call to print
<button onclick="javascript:do_print('print_box');"> print </button>


3. The test

Click the print button on the page to test the print;

In addition to the above methods we can also use jquery to example, the code is as follows


<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=" print "></input>
<div id="myPrintArea">..... Text print .....</div>

To implement region printing we can try the following method

Here's a super simple way to print a page, not just the entire page, but an area of the page


<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="  print  ">
<div id="div_print">
<h1 style="Color:Red"> Printed area: www.jb51.net</h1>
</div>
 This area is unprintable! 
</body>
</html>


Related articles: