javascript实现jsp页面的打印预览
1、加载WebBrowser打印预览控件
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" id="wb" name="wb" width="3"></OBJECT>
<input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>
--------------------------------------WebBrowser控件 ---------------------------------------------
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT></OBJECT>
<input type=button value=打开 onclick=document.all.WebBrowser.ExecWB(1,1)>
<input type=button value=另存为 onclick=document.all.WebBrowser.ExecWB(4,1)>
<input type=button value=全选 onclick=document.all.WebBrowser.ExecWB(17,1)>
<input type=button value=属性 onclick=document.all.WebBrowser.ExecWB(10,1)>
<input type=button value=关闭窗口 onclick=document.all.WebBrowser.ExecWB(45,1)>
<input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)>
<input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)>
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>
<input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>
或者用超链接添加自定义函数
<a href="javaScript:printpreview();" >◆ 打印预览 </a>
自定义函数主要实现打印预览去掉页眉页脚
<script type="text/javascript">
//设置网页打印的页眉页脚为空
var HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root="HKEY_CURRENT_USER";
HKEY_Path="//Software//Microsoft//Internet Explorer//PageSetup//";
function PageSetup_Null() {
try{
var Wsh=new ActiveXObject("WScript.Shell");
HKEY_Key="header";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
HKEY_Key="footer";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
}catch(e){}
}
function printpreview(){
PageSetup_Null();
// 打印页面预览
wb.execwb(7,1);
};
</script>
2.设置不打印的元素:设置样式,并添加到不需要展示的元素(class="noprint")
<style media="print" type="text/css">
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>
3.【遇到问题】当前网页是通过window.parent.openWindowCanClose(url,title,width,height) ;方式打开的窗口,打印的区域则包括了父窗口,而并不是我们当前设置的子窗口。
我猜想web打印预览方法是基于window对象的,因此想要只是打印子窗口那么必须是另打开一个新网页。
window.open(url,title,width,height,"_blank");
4.【遇到问题】当在本地测试该功能时可以正常预览,但是换在服务器上测试该功能时发现提示【 Internet Explorer 已经阻止此站点用不安全方式使用 ActiveX 控件】
这个是由于浏览器的安全级别设置引发的,最直接的方法就是【添加信任站点】
设置方式:【工具】-【Internet选项】-【受信任的站点】-【站点】-填入网址(若这个网站不是以https:开头,将【对该区域中所有站点要求服务器验证】选项勾选去掉)
javascript实现jsp页面的打印预览的更多相关文章
- 基于Metronic的Bootstrap开发框架经验总结(9)--实现Web页面内容的打印预览和保存操作
在前面介绍了很多篇相关的<Bootstrap开发框架>的系列文章,这些内容基本上覆盖到了我这个Bootstrap框架的各个主要方面的内容,总体来说基本达到了一个稳定的状态,随着时间的推移可 ...
- JavaScript 实现打印,打印预览,打印设置
WebBrowser是IE内置的浏览器控件,无需用户下载. 一.WebBrowser控件 <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CL ...
- (转)基于Metronic的Bootstrap开发框架经验总结(9)--实现Web页面内容的打印预览和保存操作
http://www.cnblogs.com/wuhuacong/p/5147368.html 在前面介绍了很多篇相关的<Bootstrap开发框架>的系列文章,这些内容基本上覆盖到了我这 ...
- JS页面打印预览功能
点击按钮后就可以直接打印预览,并且隐藏了按钮,如果你不希望按钮显示,可以把那部分代码删除就可以了. <html><head><meta http-equiv=" ...
- JS 打印功能代码可实现打印预览、打印设置等
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...
- CVE-2013-3908 Internet Explorer打印预览功能可导致信息泄露
原文:http://masatokinugawa.l0.cm/2014/11/ie-printpreview-infoleak.html 问题1: 在IE9和以前的版本当中进行打印预览操作时,IE会取 ...
- Js或 Activex 控件调用打印预览等操作
<input value="打印" type="button" onclick="javascript:window.print()" ...
- JS实现IE下打印和打印预览
http://blog.csdn.net/rongyongfeikai2/article/details/8460598 ——————————————————————————————————————— ...
- JS实现浏览器打印、打印预览
1.JS实现打印的方式方式一:window.print()window.print();会弹出打印对话框,打印的是window.document.body.innerHTML中的内容,下面是从网上摘到 ...
随机推荐
- 函数响应式编程及ReactiveObjC学习笔记 (四)
今天我们继续看其他的类别 UIImagePickerController+RACSignalSupport.h #import <UIKit/UIKit.h> @class RACDele ...
- shell 脚本编写 if else then
if ....; then .... elif ....; then .... else .... fi 大多数情况下,可以使用测试命令来对条件进行测试.比如可以比较字符串.判断文件是否存在及是否可读 ...
- JavaBean+servlet+jsp——>对数据进行增删改查
1.开始页面(查询数据) <%@page import="com.zdsofe.work.Student"%> <%@page import="java ...
- ES2017中的async函数
前面的话 ES2017标准引入了 async 函数,使得异步操作变得更加方便.本文将详细介绍async函数 概述 async 函数是 Generator 函数的语法糖 使用Generator 函数,依 ...
- 一次浴火重生的MySQL优化(EXPLAIN命令详解)
一直对SQL优化的技能心存无限的向往,之前面试的时候有很多面试官都会来一句,你会优化吗?我说我不太会,这时可能很多人就会有点儿说法了,比如会说不要使用通配符*去检索表.给常常使用的列建立索引.还有创建 ...
- 在drawRect:方法中绘制图片,文字以及Core Graphics 框架的了解
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...
- Linux Command Line(II): Intermediate
Prerequisite: Linux Command Line(I): Beginner ================================ File I/O $ cat > a ...
- [vijos NOIP模拟题]天神下凡 贪心+搜索
样例: 考试的时候没时间打了,随便敲了敲就交上去了,没想到竟然编译错误,忘定义n了23333 自己测了测能骗20分hhhh 考虑每个圆对答案的贡献,当一个圆被小圆内切的时候,分成了两半,对答案的贡献就 ...
- Linux - 简明Shell编程01 - 第一个脚本(HelloShell)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "hell ...
- SQLPlus命令
对于Oracle数据库操作主要使用的是命令行方式,而所有的命令都使用sqlplus完成,对于sqlplus有两种形式. 一种是dos风格的sqlplus:sqlplus.exe; 另一种是window ...