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 相关文章推荐
Use Word to Search for Files
Jun 15 Javascript
JS加jquery简单实现标签元素的显示或隐藏
Sep 23 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
jQuery写fadeTo示例代码
Feb 21 Javascript
node.js中的fs.lchown方法使用说明
Dec 16 Javascript
JavaScript检查数字是否为整数或浮点数的方法
Jun 09 Javascript
jQuery validate验证插件使用详解
May 11 Javascript
JS中使用变量保存arguments对象的方法
Jun 03 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
Aug 31 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 Javascript
js实现随机抽奖
Mar 19 Javascript
vue接通后端api以及部署到服务器操作
Aug 13 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新手上路(五)
2006/10/09 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
在vue中封装可复用的组件方法
2018/03/01 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
Python 实现try重新执行
2019/12/21 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
关于毕业的广播稿
2014/01/10 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
读书小明星事迹材料
2014/05/03 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
校运会通讯稿
2015/07/18 职场文书
员工旷工检讨书
2015/08/15 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL