js控制web打印(局部打印)方法整理


Posted in Javascript onMay 29, 2013

首先定义css样式:

@media print { 
.noprint { display: none;color:green } 
}

对于不想打印的内容只用在标签中加上 class=noprint即可,打印的时候客户也不会看到页面任何变化。
打印时调用 window.print();

另外几种js局部打印的方法:
移花接木:
打印的时候,把需要打印的内容替换成整个body内容(用户会在打印的时候看到变化,客户体验不太好)

function preview(oper) 
......{ 
if (oper < 10)......{ 
bdhtml=window.document.body.innerHTML;//获取当前页的html代码 
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域 
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域 
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html 
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html 
window.document.body.innerHTML=prnhtml; 
window.print(); 
window.document.body.innerHTML=bdhtml; 
} else ......{ 
window.print(); 
} 
}

使用很简单 将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->
再加个打印按纽 onclick=preview(1)
-----------------------------------------
WebBrowser是IE内置的浏览器控件,无需用户下载.(未实验)
一、WebBrowser控件
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>

二、WebBrowder控件的方法
//打印 
WebBrowser1.ExecWB(6,1); 
//打印设置 
WebBrowser1.ExecWB(8,1); 
//打印预览 
WebBrowser1.ExecWB(7,1);

关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
样式内容:
<style type="text/css" media=print> 
.noprint......{display : none } 
</style>

然后使用样式就可以:
<p class="noprint">不需要打印的地方</p>
代码如下:
<script language="javascript"> 
function printsetup()......{ 
// 打印页面设置 
wb.execwb(8,1); 
} 
function printpreview()......{ 
// 打印页面预览 
wb.execwb(7,1); 
} 
function printit() 
....{ 
if (confirm('确定打印吗?')) ......{ 
wb.execwb(6,6) 
} 
} 
</script> 
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT> 
<input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()"> 
<input type=button name=button_setup value="打印页面设置" class="noprint" onclick="javascript:printsetup();"> 
<input type=button name=button_show value="打印预览" class="noprint" onclick="javascript:printpreview();">
Javascript 相关文章推荐
jquery弹出层类代码分享
Dec 27 Javascript
JS获取随机数函数可自定义最小值最大值
May 08 Javascript
jQuery实现打开页面渐现效果示例
Jul 27 Javascript
微信小程序 wx.request(OBJECT)发起请求详解
Oct 13 Javascript
SelecT下拉框选中和取值的解决方法
Nov 22 Javascript
javascript操作cookie
Jan 17 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
微信小程序实现图片上传功能
May 28 Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 Javascript
js实现随机抽奖
Mar 19 Javascript
jQuery 选择器用法实例分析【prev + next】
May 22 jQuery
Vue-router编程式导航的两种实现代码
Mar 04 Vue.js
js动态为代码着色显示行号
May 29 #Javascript
js判断背景图片是否加载成功使用img的width实现
May 29 #Javascript
jQuery JSON实现无刷新三级联动实例探讨
May 28 #Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
May 28 #Javascript
js仿百度有啊通栏展示效果实现代码
May 28 #Javascript
jquery实现商品拖动选择效果代码(自写)
May 28 #Javascript
兼容IE和FF的图片上传前预览js代码
May 28 #Javascript
You might like
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
如何通过python画loss曲线的方法
2019/06/26 Python
python创建学生管理系统
2019/11/22 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
支持IE8的纯css3开发的响应式设计动画菜单教程
2014/11/05 HTML / CSS
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
商场端午节活动方案
2014/01/29 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
python flappy bird小游戏分步实现流程
2022/02/15 Python
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers