js调用iframe实现打印页面内容的方法_jquery
程序员文章站
2022-04-13 11:49:45
...
1、程序说明
1) 此程序可以实现选择页面中的区域进行打印,以iframe方式进行打印;
2) 与原生态的print() 区别在于,取消打印页面后可以完整保留当前访问页面的内容。
2、代码部分
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("");
doc.write('
doc.close();
iframe.contentWindow.focus();
iframe.contentWindow.print();
if (navigator.userAgent.indexOf("MSIE") > 0)
{
document.body.removeChild(iframe);
}
}
// 打印区域:
......
// 调用打印
3. 测试
div print
这块区域是打印不到的!
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("");
doc.write('
' + el.innerHTML + '
');doc.close();
iframe.contentWindow.focus();
iframe.contentWindow.print();
if (navigator.userAgent.indexOf("MSIE") > 0)
{
document.body.removeChild(iframe);
}
}
2) HTML:
复制代码 代码如下:
// 打印区域:
......
// 调用打印
3. 测试
点击页面上的打印按钮,即可测试打印;
除了上面方法我们还可以通过jquery来实例,代码如下
复制代码 代码如下:
.....文本打印部分.....
如果要实现区域打印我们可尝试下面方法
下面本文分享一种超简单的方法实现页面的打印功能,不仅可以打印整个页面,还可以打印页面某块区域
复制代码 代码如下:
被打印区域:www.jb51.net
这块区域是打印不到的!