IE瀏覽器實現列印預覽
阿新 • • 發佈:2019-01-08
最近遇到這麼一個需求,需要在IE瀏覽器上列印的時候,不直接呼叫印表機,而是先開啟列印預覽頁面,再進行列印操作。
這樣,就需要對原本的列印方法進行改寫了。具體實現如下:
在jsp頁面進行以下操作。
<!-- 在body標籤中寫入一個object -->
<object id="printWB" style="dispaly:none" classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" height="0"></object>
function printall(){
// 列印頁面預覽
if (!!window.ActiveXObject || "ActiveXObject" in window){//IE瀏覽器
$(".noprint").css("display","none");
try{
//增加列印預覽
printWB.ExecWB(7, 1);
}catch(e){
alert(e);
}finally{
$(".noprint").css("display" ,"");
}
}else{
//需要引入jquery.jqprint-0.3.js
$('#a').jqprint();
}
}
附該物件常用的方法:
<script>
WebBrowser.ExecWB(1,1) //開啟
WebBrowser.ExecWB(2,1) //關閉現在所有的IE視窗,並開啟一個新視窗
WebBrowser.ExecWB(4,1) //儲存網頁
//--------------- 常用 ---------------
WebBrowser.ExecWB(6,1) //列印
WebBrowser.ExecWB(7,1) //列印預覽
WebBrowser.ExecWB(8,1) //列印頁面設定
//-------------------------------------
WebBrowser.ExecWB(10,1) //檢視頁面屬性
WebBrowser.ExecWB(15,1) //撤銷
WebBrowser.ExecWB(17,1) //全選
WebBrowser.ExecWB(22,1) //重新整理
WebBrowser.ExecWB(45,1) //關閉窗體無提示
</script>