js调用浏览器“打印”与“打印预览”
用到html <object>标签,具体做法如下:
1、在html文档任意位置添加<object>标签:
<div style="border: 1px solid #000; height:40px;width:100%" class="noprint">
...
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" id="wb" name="wb" width="0"></OBJECT>
...
</div>
2、添加两个按钮:“打印”、“打印预览”,只是为了方便测试,可以添加任意个:
<a id="lkprint" onclick="printhtml();" sytle="height:20px">打印</a>
<a id="lkprintPreview" onclick="printpreview();" style="height:20px">打印预览</a>
3、实现以上两个按钮的onclick事件:
// 打印预览
function printpreview() {
wb.execwb(, );
}
// 打印
function printhtml() {
if (confirm('确定打印吗?')) {
wb.execwb(, );
}
}
//------------------------------------------------------------------------------------------------------------
// execwb() 参数以及功能:
wb.execwb(1,1)//打开
wb.ExecWB(2,1);//关闭现在所有的IE窗口,并打开一个新窗口
wb.ExecWB(4,1)//;保存网页
wb.ExecWB(6,1)//打印
wb.ExecWB(7,1)//打印预览
wb.ExecWB(8,1)//打印页面设置
wb.ExecWB(10,1)//查看页面属性
wb.ExecWB(15,1)//好像是撤销,有待确认
wb.ExecWB(17,1)//全选
wb.ExecWB(22,1)//刷新
wb.ExecWB(45,1)//关闭窗体无提示
4、选择打印区域局部打印,比如我们想让“打印”和“打印预览”两个按钮不出现在被打印的区域,可以设置css属性:media=print(设置这个是为了不被打印,只负责显示),media=screen(既可以显示,也可以被打印)。
<style type="text/css" media=print>
.noprint {
display:none // 被打印时的样式
}
</style> <div style="border: 1px solid #000; height:40px;width:100%" class="noprint">
<a id="lkprint" onclick="printhtml();" sytle="height:20px">打印</a>
<a id="lkprintPreview" onclick="printpreview();" style="height:20px">打印预览</a>
</div>
注意:此方法只适用与ie浏览器(支持ie内核)
js调用浏览器“打印”与“打印预览”的更多相关文章
- Lodop中特殊符号¥打印设计和预览不同
		Lodop中¥符号样式改变问题 Lodop中对超文本样式的解析,虽然说是按照调用的本机ie引擎,但是调用的ie版本可能不同,导致在ie下是一种样式,预览又是另一种样式.可能是有些样式没有具体设置,走的 ... 
- js矩阵菜单或3D立体预览图片效果
		js矩阵菜单或3D立体预览图片效果 下载地址: http://files.cnblogs.com/elves/js%E7%9F%A9%E9%98%B5%E8%8F%9C%E5%8D%95%E6%88% ... 
- 用pdf.js实现在移动端在线预览pdf文件
		用pdf.js实现在移动端在线预览pdf文件1.下载pdf.js 官网地址:https://mozilla.github.io/pdf.js/ 2.配置 下载下来的文件包,就是一个demo ... 
- atitit.javascript js 上传文件的本地预览
		atitit.javascript js 上传文件的本地预览 1. .URL.createObjectURL 1 1.1. 吊销所有使用 URL.createObjectURL 而创建的 URL,以 ... 
- 使用jqPrint.js调用浏览器打印界面,打印网页中的某一部分该部分含有ECharts图表
		1.准备好js文件(我用的是谷歌浏览器) 这个文件是为了防止你的jQuery版本过高而不适配的问题 这是调用浏览器打印的js插件 2.引入js文件 <script src="js/jq ... 
- JS   Web打印,实现预览新样式
		问题描述: JS实现Web打印,要求打印前一种样式,打印预览时新样式 问题解决: (1)设置打印时的css样式,设置打印前的css样式 注: 以上为print. ... 
- asp.net调用Lodop实现页面打印或局部打印,可进行打印设置或预览
		<%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebPrint.aspx.cs ... 
- js调用浏览器打印
		<input type="button" id="print" onclick="printdiv('list');" value=& ... 
- js 调用IE内置打印控件
		转自学网(http://www.xue5.com/itedu/200802/102909.html) WebBrowser是IE内置的浏览器控件,无需用户下载. 一.WebBrowser控件 < ... 
随机推荐
- Mybatis入门简版(补充)
			一.Mybatis 中$与#的区别 #相当于对数据 加上 双引号,$相当于直接显示数据 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#, ... 
- [ERROR ImagePull]: failed to pull image [k8s.gcr.io/kube-apiserver-amd64:v1.11.1]: exit status 1
			问题描述 [root@localhost ~]# kubeadm init --kubernetes-version=v1.11.1 --pod-network-cidr=10.244.0.0/16 ... 
- indexeddb:浏览器中的数据库
			随着浏览器功能的不断加强,越来越多的网站开始考虑将大量的数据存储在客户端.这样的考虑是为了直接从本地获取数据,减少从服务器获取数据耗费的网络资源. 原有的浏览器数据存储方案都不适合存储大量数据.Coo ... 
- Jmeter数据库测试参数化
			一.JDBC Request参数化 方法一.Jmeter参数化,在sql query中使用变量 Jmeter参数化,使用csv参数化 sql query中使用${变量名}引用 设置变量 输出结果: 方 ... 
- Python_函数传参
			关于函数中传递参数的相关知识 其中 万能参数 第一次听说 但感觉用处不大 后面用到再详细整理 
- 路由器静态IP的配置及其备份静态路由缺省路由
			静态路由时管理员手动配置并维护的路由.静态路由配置简单,被广泛应用于网络中.静态路由还可以实现负载均衡和路由备份.学习掌握好静态路由的配置是很重要的. 如下图, 首先进入路由器的命令视图,(sys) ... 
- C#的集合类型及使用技巧
			在日常开发过程中,我们不能避免的要对批量数据处理,这时候就要用到集合.集合总体上分为线性集合和非线性集合.线性集合是指元素具有唯一的前驱和后驱的数据结构类型:非线性集合是指有多个前驱和后驱的数据结构类 ... 
- ESP8266开发之旅 基础篇① 走进ESP8266的世界
			授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ... 
- 百万年薪python之路  -- 装饰器
			装饰器 1.1 开放封闭原则 开放封闭原则具体定义是这样: 1.对扩展是开放的 我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改.所以我们必须允许代码扩展.添加新 ... 
- hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题
			文章转载于:hexo博客yili主题个性化自定义教程(1) --借鉴中学习,初认yili主题 这个博客跌跌撞撞也弄了好多天了,由于Next主题不知道什么情况,被我玩坏了.所以换了一个主题. 大名鼎鼎的 ... 
