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 源代码显示控件 (Ajax加载方式).
May 18 Javascript
Javascript 日期对象Date扩展方法
May 30 Javascript
LazyLoad 延迟加载(按需加载)
May 31 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
Sep 29 Javascript
jquery.qrcode在线生成二维码使用示例
Aug 21 Javascript
javascript打开word文档的方法
Apr 16 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
Nov 24 Javascript
js实现随机点名系统(实例讲解)
Oct 18 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
5分钟学会Vue动画效果(小结)
Jul 21 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
Apr 18 Javascript
浅谈Webpack多页应用HMR卡住问题
Apr 24 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 URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php输出xml必须header的解决方法
2014/10/17 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
jsTree使用记录实例
2016/12/01 Javascript
js Dom实现换肤效果
2017/10/21 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
深入理解 webpack 文件打包机制(小结)
2018/01/08 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
[05:45]Ti4观战指南(下)
2014/07/07 DOTA
Python环境变量设置方法
2016/08/28 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
python常见排序算法基础教程
2017/04/13 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
会计电算化学生个人的自我评价
2014/02/08 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
大学班级文化建设方案
2014/05/06 职场文书
悬空寺导游词
2015/02/05 职场文书
学校重阳节活动总结
2015/03/24 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书