1、加载WebBrowser打印预览控件
--------------------------------------WebBrowser控件 ---------------------------------------------
或者用超链接添加自定义函数
◆ 打印预览
自定义函数主要实现打印预览去掉页眉页脚
//设置网页打印的页眉页脚为空
varHKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root="HKEY_CURRENT_USER";
HKEY_Path="//Software//Microsoft//Internet Explorer//PageSetup//";
functionPageSetup_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){}
}functionprintpreview(){
PageSetup_Null();//打印页面预览
wb.execwb(7,1);
};
2.设置不打印的元素:设置样式,并添加到不需要展示的元素(class="noprint")
.Noprint{display:none;}.PageNext{page-break-after:always;}
3.【遇到问题】当前网页是通过window.parent.openWindowCanClose(url,title,width,height) ;方式打开的窗口,打印的区域则包括了父窗口,而并不是我们当前设置的子窗口。
我猜想web打印预览方法是基于window对象的,因此想要只是打印子窗口那么必须是另打开一个新网页。
window.open(url,title,width,height,"_blank");
4.【遇到问题】当在本地测试该功能时可以正常预览,但是换在服务器上测试该功能时发现提示【Internet Explorer 已经阻止此站点用不安全方式使用 ActiveX 控件】
这个是由于浏览器的安全级别设置引发的,最直接的方法就是【添加信任站点】
设置方式:【工具】-【Internet选项】-【受信任的站点】-【站点】-填入网址(若这个网站不是以https:开头,将【对该区域中所有站点要求服务器验证】选项勾选去掉)