js或jquery實現頁面打印(局部打印)


 

首先定義css樣式: 

復制代碼代碼如下:

@media print { 
.noprint { display: none;color:green } 


對於不想打印的內容只用在標簽中加上 class="noprint"即可,打印的時候客戶也不會看到頁面任何變化。 
打印時調用 window.print(); 

另外幾種js局部打印的方法: 
移花接木: 
打印的時候,把需要打印的內容替換成整個body內容(用戶會在打印的時候看到變化,客戶體驗不太好) 

復制代碼代碼如下:

function preview(oper) 
......{ 
if (oper < 10)......{ 
bdhtml=window.document.body.innerHTML;//獲取當前頁的html代碼 
sprnstr="<!--startprint"+oper+"-->";//設置打印開始區域 
eprnstr="<!--endprint"+oper+"-->";//設置打印結束區域 
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //從開始代碼向后取html 
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//從結束代碼向前取html 
window.document.body.innerHTML=prnhtml; 
window.print(); 
window.document.body.innerHTML=bdhtml; 
} else ......{ 
window.print(); 


使用很簡單 將頁面內要打印的內容加入中間<!--startprint1-->XXXXX<!--endprint1--> 
再加個打印按紐 onclick=preview(1) 
----------------------------------------- 
WebBrowser是IE內置的瀏覽器控件,無需用戶下載.(未實驗) 
一、WebBrowser控件 

復制代碼代碼如下:

  <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object> 


二、WebBrowder控件的方法 

復制代碼代碼如下:

//打印 
WebBrowser1.ExecWB(6,1); 
//打印設置 
WebBrowser1.ExecWB(8,1); 
//打印預覽 
WebBrowser1.ExecWB(7,1); 


關於這個組件還有其他的用法,列舉如下: 
WebBrowser.ExecWB(1,1) 打開 
Web.ExecWB(2,1) 關閉現在所有的IE窗口,並打開一個新窗口 
Web.ExecWB(4,1) 保存網頁 
Web.ExecWB(6,1) 打印 
Web.ExecWB(7,1) 打印預覽 
Web.ExecWB(8,1) 打印頁面設置 
Web.ExecWB(10,1) 查看頁面屬性 
Web.ExecWB(15,1) 好像是撤銷,有待確認 
Web.ExecWB(17,1) 全選 
Web.ExecWB(22,1) 刷新 
Web.ExecWB(45,1) 關閉窗體無提示 
但是打印是會把整個頁面都打印出來的,頁面里面有什么東西就打印出來,我們有時候只需要打印數據表格,這時我們就要寫一個樣式了:把不想打印的部份隱藏起來: 
樣式內容: 

復制代碼代碼如下:

<style type="text/css" media=print> 
.noprint......{display : none } 
</style> 


然后使用樣式就可以: 
<p class="noprint">不需要打印的地方</p> 
代碼如下: 

復制代碼代碼如下:

<script language="javascript"> 
function printsetup()......{ 
// 打印頁面設置 
wb.execwb(8,1); 

function printpreview()......{ 
// 打印頁面預覽 
wb.execwb(7,1); 

function printit() 
....{ 
if (confirm('確定打印嗎?')) ......{ 
wb.execwb(6,6) 


</script> 
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT> 
<input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()"> 
<input type=button name=button_setup value="打印頁面設置" class="noprint" onclick="javascript:printsetup();"> 
<input type=button name=button_show value="打印預覽" class="noprint" onclick="javascript:printpreview();"> 
 
 
 
 
來源:http://www.jb51.net/article/37571.htm

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM