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 相关文章推荐
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
Jul 26 Javascript
javascript实现跳转菜单的具体方法
Jul 05 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
Mar 13 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
Jun 01 Javascript
jQuery实现图片上传和裁剪插件Croppie
Nov 29 Javascript
javascript实现起伏的水波背景效果
May 16 Javascript
简单谈谈gulp-changed插件
Feb 21 Javascript
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
vue实例中data使用return包裹的方法
Aug 27 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 Javascript
Vuex的实战使用详解
Oct 31 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中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
php实现简单爬虫的开发
2016/03/28 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
PHP7新增函数
2021/03/09 PHP
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
vue组件三大核心概念图文详解
2019/05/30 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
python使用arp欺骗伪造网关的方法
2015/04/24 Python
python中hashlib模块用法示例
2017/10/30 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
django 实现电子支付功能的示例代码
2018/07/25 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
python-地图可视化组件folium的操作
2020/12/14 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
造价工程师个人求职信
2013/09/21 职场文书
校园招聘策划书
2014/01/09 职场文书
动漫专业高职生职业生涯规划书
2014/02/15 职场文书
房产公证书范本
2014/04/10 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
职场干货:简历中的自我评价应该这样写!
2019/05/06 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL