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 相关文章推荐
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
Sep 02 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 Javascript
javascript函数中参数传递问题示例探讨
Jul 31 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
详解Node.js:events事件模块
Nov 24 Javascript
百度搜索框智能提示案例jsonp
Nov 28 Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 Javascript
Angular中支持SCSS的方法
Nov 18 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
Aug 24 Javascript
vue单页应用在页面刷新时保留状态数据的方法
Sep 21 Javascript
JS大坑之19位数的Number型精度丢失问题详解
Apr 22 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
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设计模式 FlyWeight (享元模式)
2011/06/26 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
深入研究React中setState源码
2017/11/17 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
Python代码的打包与发布详解
2014/07/30 Python
Python的类实例属性访问规则探讨
2015/01/30 Python
Python求导数的方法
2015/05/09 Python
深入理解python对json的操作总结
2017/01/05 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
python列表list保留顺序去重的实例
2018/12/14 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
后勤人员自我鉴定
2013/10/20 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
故意杀人案辩护词
2015/05/21 职场文书
老兵退伍感言
2015/08/03 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript