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 相关文章推荐
最新优化收藏到网摘代码(digg,diigo)
Feb 07 Javascript
理解Javascript闭包
Nov 01 Javascript
js与运算符和或运算符的妙用
Feb 14 Javascript
javascript实现修改微信分享的标题内容等
Dec 11 Javascript
javascript获取系统当前时间的方法
Nov 19 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
Jun 12 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
webpack组织模块打包Library的原理及实现
Mar 10 Javascript
Flutter实现仿微信底部菜单栏功能
Sep 18 Javascript
vue 实现单选框设置默认选中值
Nov 07 Javascript
jQuery实现计算器功能
Oct 19 jQuery
vue中div禁止点击事件的实现
Apr 02 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
如何对PHP程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
PHP5常用函数列表(分享)
2013/06/07 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
PHP进程通信基础之信号
2017/02/19 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
NodeJS加密解密及node-rsa加密解密用法详解
2018/10/12 NodeJs
微信小程序实现上传word、txt、Excel、PPT等文件功能
2019/05/23 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
python中强大的format函数实例详解
2018/12/05 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Python作用域与名字空间原理详解
2020/03/21 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
毕业实习评语
2014/02/10 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
护士个人总结范文
2015/02/13 职场文书
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
Python实现对齐打印 format函数的用法
2022/04/28 Python