IE浏览器实现打印预览
生活随笔
收集整理的這篇文章主要介紹了
IE浏览器实现打印预览
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
最近遇到這么一個(gè)需求,需要在IE瀏覽器上打印的時(shí)候,不直接調(diào)用打印機(jī),而是先打開打印預(yù)覽頁(yè)面,再進(jìn)行打印操作。
這樣,就需要對(duì)原本的打印方法進(jìn)行改寫了。具體實(shí)現(xiàn)如下:
在jsp頁(yè)面進(jìn)行以下操作。
<!-- 在body標(biāo)簽中寫入一個(gè)object --> <object id="printWB" style="dispaly:none" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" height="0"></object> function printall(){// 打印頁(yè)面預(yù)覽 if (!!window.ActiveXObject || "ActiveXObject" in window){//IE瀏覽器 $(".noprint").css("display","none"); try{//增加打印預(yù)覽printWB.ExecWB(7, 1);}catch(e){alert(e);}finally{$(".noprint").css("display",""); } }else{//需要引入jquery.jqprint-0.3.js$('#a').jqprint();} }附該對(duì)象常用的方法:
<script> WebBrowser.ExecWB(1,1) //打開 WebBrowser.ExecWB(2,1) //關(guān)閉現(xiàn)在所有的IE窗口,并打開一個(gè)新窗口 WebBrowser.ExecWB(4,1) //保存網(wǎng)頁(yè) //--------------- 常用 --------------- WebBrowser.ExecWB(6,1) //打印 WebBrowser.ExecWB(7,1) //打印預(yù)覽 WebBrowser.ExecWB(8,1) //打印頁(yè)面設(shè)置 //------------------------------------- WebBrowser.ExecWB(10,1) //查看頁(yè)面屬性 WebBrowser.ExecWB(15,1) //撤銷 WebBrowser.ExecWB(17,1) //全選 WebBrowser.ExecWB(22,1) //刷新 WebBrowser.ExecWB(45,1) //關(guān)閉窗體無(wú)提示 </script>下面附上測(cè)試的完整代碼:
<html> <head> <title>print demo</title> <meta charset="utf-8" > <style media="print"> .noprint { display: none; } </style> <script language="JavaScript"> function doPrintSetup() { //打印設(shè)置 printWB.ExecWB(8, 1) } function doPrintPreview() { if (!!window.ActiveXObject || "ActiveXObject" in window){ //打印預(yù)覽 try{printWB.ExecWB(7, 1) }catch(e){alert(e);}}} function doPrint() { //直接打印 printWB.ExecWB(6, 6) } </script> </head> <body> <object id="printWB" style="dispaly:none" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" height="0"></object><div class="noprint"> <input type="button" value="打印設(shè)置" onclick="doPrintSetup();"></input> <input type="button" value="打印預(yù)覽" onclick="doPrintPreview();"></input> <input type="button" value="直接打印" onclick="doPrint();"></input> <input type="button" value="關(guān)閉窗口" onclick="printWB.ExecWB(45,1);"></input> </div> <p>這些文本將要被打印!</p> <p>關(guān)于這個(gè)組件還有其他的用法,列舉如下:<br/> WebBrowser.ExecWB(1,1) 打開<br/> Web.ExecWB(2,1) 關(guān)閉現(xiàn)在所有的IE窗口,并打開一個(gè)新窗口<br/> Web.ExecWB(4,1) 保存網(wǎng)頁(yè)<br/> Web.ExecWB(6,1) 打印<br/> Web.ExecWB(7,1) 打印預(yù)覽<br/> Web.ExecWB(8,1) 打印頁(yè)面設(shè)置<br/> Web.ExecWB(10,1) 查看頁(yè)面屬性<br/> Web.ExecWB(15,1) 撤銷<br/> Web.ExecWB(17,1) 全選<br/> Web.ExecWB(22,1) 刷新<br/> Web.ExecWB(45,1) 關(guān)閉窗體無(wú)提示<br/> </p> </body> </html>總結(jié)
以上是生活随笔為你收集整理的IE浏览器实现打印预览的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: react项目中实现打印预览功能
- 下一篇: Web前端面试指导(四十四):什么是响应