1. 程式人生 > >使用網頁程式碼“擷取”功能,列印頁面某段定義區域內容

使用網頁程式碼“擷取”功能,列印頁面某段定義區域內容

以前使用者在列印網頁內容時,一般直接選擇IE的列印功能就行。有的WEB頁面上也有“列印此文件”的連結功能,引用的也是“window.print();”,類似於手工列印頁面。

  一般我們用到網頁的列印,都僅對頁面上的主要內容感興趣,一些相關的廣告圖片、無用的文字資訊等都可以排除。如果需要實現這樣的效果,則使用上面的方法肯定是不可取的。上次我在寫域名查詢的時候,使用了XML,同時處理查詢反饋資訊是進行擷取的方法,即僅對有用處的資訊進行讀取。其實網上那些所謂的“小偷程式”也是這樣的原理。藉助這樣的思路,我嘗試著對網頁列印也進行“擷取”處理一下了。當然,也是針對網頁的HTML原始碼進行操作了,方法如下:

  1、在頁面的程式碼頭部處加入JavaScript:

<script language=javascript>
function doPrint() {
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";
eprnstr="<!--endprint-->";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}
</script>

  2、在頁面正文處加上<!--startprint-->與<!--endprint-->標識。也就是在需要使用者列印儲存的正文所對應的html處附加上。

  3、擷取內容部分已完成,現在加個“列印”的連結:<a href="javascript:;" onClick="doPrint()">列印教程</a>

  當然,如果直接手工讓瀏覽器列印的話,這個功能是根本不會實現的。

  這樣,效果就完成。我也僅僅提供了一個思路,因為家中未裝印表機,所以未嘗試。如果你們在實際使用中發現有問題,希望給予指正了。