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 相关文章推荐
javascript[js]获取url参数的代码
Oct 17 Javascript
网页打开自动最大化的js代码
Aug 22 Javascript
基于JQuery实现的Select级联
Jan 27 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 Javascript
JavaScript仿支付宝6位数字密码输入框
Dec 29 Javascript
JavaScript实现二分查找实例代码
Feb 22 Javascript
jQuery插件ContextMenu自定义图标
Mar 15 Javascript
Angular 4.x 路由快速入门学习
May 03 Javascript
React-Native中禁用Navigator手势返回的示例代码
Sep 09 Javascript
swiper自定义分页器使用方法详解
Sep 14 Javascript
vue 引入公共css文件的简单方法(推荐)
Jan 20 Javascript
Node登录权限验证token验证实现的方法示例
May 25 Javascript
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
php基础知识:类与对象(5) static
2006/12/13 PHP
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
javascript静态的url如何传递
2007/05/03 Javascript
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
Python获取当前时间的方法
2014/01/14 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
解决python线程卡死的问题
2019/02/18 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
公司营业员的工作总结自我评价
2013/10/05 职场文书
医护人员英文求职信范文
2013/11/26 职场文书
电子专业自荐信
2014/07/01 职场文书
赤壁观后感(2)
2015/06/15 职场文书
单独二胎证明
2015/06/24 职场文书
人事任命书范本
2015/09/21 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
mysql如何能有效防止删库跑路
2021/10/05 MySQL