使用網頁程式碼“擷取”功能,列印頁面某段定義區域內容
阿新 • • 發佈:2018-11-29
以前使用者在列印網頁內容時,一般直接選擇IE的列印功能就行。有的WEB頁面上也有“列印此文件”的連結功能,引用的也是“window.print();”,類似於手工列印頁面。
一般我們用到網頁的列印,都僅對頁面上的主要內容感興趣,一些相關的廣告圖片、無用的文字資訊等都可以排除。如果需要實現這樣的效果,則使用上面的方法肯定是不可取的。上次我在寫域名查詢的時候,使用了XML,同時處理查詢反饋資訊是進行擷取的方法,即僅對有用處的資訊進行讀取。其實網上那些所謂的“小偷程式”也是這樣的原理。藉助這樣的思路,我嘗試著對網頁列印也進行“擷取”處理一下了。當然,也是針對網頁的HTML原始碼進行操作了,方法如下:
1、在頁面的程式碼頭部處加入JavaScript:
一般我們用到網頁的列印,都僅對頁面上的主要內容感興趣,一些相關的廣告圖片、無用的文字資訊等都可以排除。如果需要實現這樣的效果,則使用上面的方法肯定是不可取的。上次我在寫域名查詢的時候,使用了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>
當然,如果直接手工讓瀏覽器列印的話,這個功能是根本不會實現的。
這樣,效果就完成。我也僅僅提供了一個思路,因為家中未裝印表機,所以未嘗試。如果你們在實際使用中發現有問題,希望給予指正了。