用到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(7, 1); } // 打印 function printhtml() { if (confirm('確定打印嗎?')) { wb.execwb(6, 1); } }
//------------------------------------------------------------------------------------------------------------
// 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內核)