欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js调用iframe实现打印页面内容的方法

程序员文章站 2022-06-11 12:52:33
1、程序说明 1) 此程序可以实现选择页面中的区域进行打印,以iframe方式进行打印; 2) 与原生态的print() 区别在于,取消打印页面后可以完整保留当前访问页面的...

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('<p>' + el.innerhtml + '</p>');
doc.close();
iframe.contentwindow.focus();
iframe.contentwindow.print();
if (navigator.useragent.indexof("msie") > 0)
{
     document.body.removechild(iframe);
}
}

 

2) html:

. 代码如下:


// 打印区域:
<p id="print_box">
......
</p>
// 调用打印
<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(){

 

  $("p#myprintarea").printarea();

});
});
</script>
<input id="biuuu_button" type="button" value="打印"></input>
<p id="myprintarea">.....文本打印部分.....</p>

 

如果要实现区域打印我们可尝试下面方法

下面本文分享一种超简单的方法实现页面的打印功能,不仅可以打印整个页面,还可以打印页面某块区域

 

. 代码如下:


<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script language="javascript">
function printp(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>p print</title>
</head>
<body>
<input type="button" onclick="printp('p_print');" value=" 打印 ">
<p id="p_print">
<h1 style="color:red">被打印区域:www.jb51.net</h1>
</p>
这块区域是打印不到的!
</body>
</html>