用到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调用浏览器“打印”与“打印预览”的更多相关文章

  1. Lodop中特殊符号¥打印设计和预览不同

    Lodop中¥符号样式改变问题 Lodop中对超文本样式的解析,虽然说是按照调用的本机ie引擎,但是调用的ie版本可能不同,导致在ie下是一种样式,预览又是另一种样式.可能是有些样式没有具体设置,走的 ...

  2. js矩阵菜单或3D立体预览图片效果

    js矩阵菜单或3D立体预览图片效果 下载地址: http://files.cnblogs.com/elves/js%E7%9F%A9%E9%98%B5%E8%8F%9C%E5%8D%95%E6%88% ...

  3. 用pdf.js实现在移动端在线预览pdf文件

    用pdf.js实现在移动端在线预览pdf文件1.下载pdf.js    官网地址:https://mozilla.github.io/pdf.js/ 2.配置    下载下来的文件包,就是一个demo ...

  4. atitit.javascript js 上传文件的本地预览

    atitit.javascript js 上传文件的本地预览 1. .URL.createObjectURL  1 1.1. 吊销所有使用 URL.createObjectURL 而创建的 URL,以 ...

  5. 使用jqPrint.js调用浏览器打印界面,打印网页中的某一部分该部分含有ECharts图表

    1.准备好js文件(我用的是谷歌浏览器) 这个文件是为了防止你的jQuery版本过高而不适配的问题 这是调用浏览器打印的js插件 2.引入js文件 <script src="js/jq ...

  6. JS Web打印,实现预览新样式

    问题描述:     JS实现Web打印,要求打印前一种样式,打印预览时新样式 问题解决:         (1)设置打印时的css样式,设置打印前的css样式 注:         以上为print. ...

  7. asp.net调用Lodop实现页面打印或局部打印,可进行打印设置或预览

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebPrint.aspx.cs ...

  8. js调用浏览器打印

    <input type="button" id="print" onclick="printdiv('list');" value=& ...

  9. js 调用IE内置打印控件

    转自学网(http://www.xue5.com/itedu/200802/102909.html) WebBrowser是IE内置的浏览器控件,无需用户下载. 一.WebBrowser控件 < ...

随机推荐

  1. 利用pyecharts将数据可视化

    可视化展示在数据分析领域中是一个至关重要的点,好的可视化展示对我们的结果分析有更好的支持作用. 一.问题 在数据分析的时代里面我们需要将数据的可视化展现出来,更加方便用户的观察.如下图 有些时候我们需 ...

  2. Windows 服务程序(一)

    Windows 服务程序简介: Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合. 它没有用户界面,并且也不会产生任何可视输出.任何用户消息都会被写进Windows事件 ...

  3. Snagit卸载不彻底的问题

    Snagit是一款优秀的截图录屏软件,尤其是他的编辑器.方便的复制粘贴功能比较好用. 但是,卸载不完全绝对是一件烦人的事情. 可能的解决方案: 1.sfc /scannow >> CBS. ...

  4. boost::multi_index 多索引容器

    #include "stdafx.h" #include <string> #include <boost/multi_index_container.hpp&g ...

  5. (一)如何理解java面向对象编程

    哲学中,事物总是螺旋式上升,波浪式前进.因而编程也逐渐向人类更容易理解的方向前进,多年来人们苦苦追求的编程境界 : 高扩展性(extensibility),高复用性(reuseable).java语言 ...

  6. 在树莓派上安装Theano

    “查遍全网都没人成功在树莓派安装Theano,这是什么样的感觉?” ——写在开头 在这里必须先说一下,由于安装过程中的坑太多了,遇到的问题层出不穷,所以我这里只能记录我安装过程中的印象深刻的问题,如果 ...

  7. qt 计时器自动刷新图片

    计时器 QTimer *timer; timer->start (); void PictureShow::stopStartPage() { if (timer->isActive()) ...

  8. 巨杉Tech | SequoiaDB数据域及存储规划

    1 背景近年来,企业的各项业务发展迅猛,客户数目不断增加,后台服务系统压力也越来越大,系统的各项硬件资源也变得非常紧张.因此,在技术风险可控的基础上,希望引入大数据技术,利用大数据技术优化现有IT系统 ...

  9. Prometheus 介绍详解

    Prometheus 介绍 Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统.自2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区.为强调开源及独立维护,P ...

  10. ThinkCMF X1.6.0-X2.2.3框架任意内容包含漏洞分析复现

    ThinkCMF X1.6.0-X2.2.3框架任意内容包含漏洞分析复现 一.ThinkCMF简介 ThinkCMF是一款基于PHP+MYSQL开发的中文内容管理系统框架,底层采用ThinkPHP3. ...