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的简单图片切换效果
Jan 06 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
Jul 10 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
Mar 11 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
May 30 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
Jun 04 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
html5 canvas js(数字时钟)实例代码
Dec 23 Javascript
谈谈Jquery中的children find 的区别有哪些
Oct 19 Javascript
jQuery绑定事件on()与弹窗的简要概述
Apr 27 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
Aug 17 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
Dec 07 Javascript
你可能不知道的CORS跨域资源共享
Mar 13 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
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
JQuery中getJSON的使用方法
2010/12/13 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
axios基本入门用法教程
2017/03/25 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
JS实现li标签的删除
2019/04/12 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
在vue中使用inheritAttrs实现组件的扩展性介绍
2020/12/07 Vue.js
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
python3+PyQt5泛型委托详解
2018/04/24 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
Python中的self用法详解
2019/08/06 Python
Django 构建模板form表单的两种方法
2020/06/14 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
八年级数学教学反思
2014/01/31 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
项目申请汇报材料
2014/08/16 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
2015年社区综治工作总结
2015/04/21 职场文书
民事辩护词范文
2015/05/21 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
Python常遇到的错误和异常
2021/11/02 Python
zabbix配置nginx监控的实现
2022/05/25 Servers