用到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. Redis集群与高可用性技术小结

    客户端分片,这种方式需要实现特定的客户端,需要手工配置redis实例并根据算法进行访问,对于redis实例的增减,调整灵活性很差,一般不推荐. 代理分片,常见的有Twemproxy架构(豆瓣创建了co ...

  2. IaaS基础平台

    第一部分:IaaS云计算基础架构平台 服务器:先电 任务一.IaaS云平台搭建 基础环境: 1.使用命令行方式设置主机名,防火墙以及 SELinux 设置如下: (1)设置控制节点主机名 contro ...

  3. Spring Boot Security And JSON Web Token

    Spring Boot Security And JSON Web Token 说明 流程说明 何时生成和使用jwt,其实我们主要是token更有意义并携带一些信息 https://github.co ...

  4. Java基础(41)AbstractList类

    AbstractList类的子类有AbstractSequentialList(其子类是LinkedList)和ArrayList 1.LinkedList 定义 public class Linke ...

  5. 一个简单的Post Get请求

    WWW请求 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; u ...

  6. 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!

    本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...

  7. js自增图片切换

    使用js自增进行图片的切换 <!DOCTYPE html> <html lang="zh"> <head> <meta charset=& ...

  8. malloc面试题目(转) - [C++]

    试题4: void GetMemory( char *p ){ p = (char *) malloc( 100 );} void Test( void ) { char *str = NULL; G ...

  9. Java 用双向循环链表实现 遍历

    package day2; /** * 构建双向循环链表,实现遍历功能 */public class DoubleLB { public static void main(String[] args) ...

  10. python学习之【第十一篇】:Python中的文件操作

    1.前言 在Python中,对文件的操作主要遵循以下流程: 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 2.打开文件 使用open函数,可以打开一个已经存在的文件,或 ...