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


Posted in Javascript onMarch 04, 2014

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">被打印区域:3water.com</h1>
</div>
这块区域是打印不到的!
</body>
</html>
Javascript 相关文章推荐
js获取指定日期前后的日期代码
Aug 20 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
Nov 21 Javascript
js图片向右一张张滚动效果实例代码
Nov 23 Javascript
JS获取当前日期时间并定时刷新示例
Mar 04 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
Feb 24 Javascript
Bootstrap 网格系统布局详解
Mar 19 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
Dec 25 Javascript
vue addRoutes实现动态权限路由菜单的示例
May 15 Javascript
angular6的table组件开发的实现示例
Dec 26 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
Apr 17 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
Sep 28 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
Sep 22 Javascript
JavaScript的21条基本知识点
Mar 04 #Javascript
js的2种继承方式详解
Mar 04 #Javascript
Seajs的学习笔记
Mar 04 #Javascript
文本域中换行符的替换示例
Mar 04 #Javascript
为jquery的ajaxfileupload增加附加参数的方法
Mar 04 #Javascript
Document.location.href和.replace的区别示例介绍
Mar 04 #Javascript
LABjs、RequireJS、SeaJS的区别
Mar 04 #Javascript
You might like
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
PHP中的替代语法介绍
2015/01/09 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
js DOM模型操作
2009/12/28 Javascript
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
详解vue axios用post提交的数据格式
2018/08/07 Javascript
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
Python返回数组/List长度的实例
2018/06/23 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
酒店前厅员工辞职信
2014/01/08 职场文书
市场营销工作计划书
2014/09/15 职场文书
法人代表证明书格式
2014/10/01 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
实习生个人总结范文
2015/02/28 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
理解深度学习之深度学习简介
2021/04/14 Python
Python中使用subprocess库创建附加进程
2021/05/11 Python
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers