瀏覽器列印經驗總結

2022-02-10 02:47:39 字數 1392 閱讀 7879

js呼叫瀏覽器列印(可設定頁首、頁尾、頁邊距)

列印需求,在系統的開發中非常常見。面對使用者各種各樣的列印格式要求,如果有好用的列印控制項,開發列印功能自然無需多說。但是如果沒有,直接使用瀏覽器自帶的列印功能,也是乙個不錯的選擇。

下面就分享一下我自己在開發過程中,使用瀏覽器自帶功能的一些經驗。

如果要將當前網頁的內容直接列印到白紙上,很簡單,使用如下js**即可實現。

window.print();

如果只需要簡單列印當前網頁的某一塊內容,不難實現。先使要列印的那一塊獲得焦點,然後列印即可,**如下:

document.getelementbyid('要列印的區域id').focus();

window.print();

當然,使用css來控制某一區域不列印,也是很方便的。

**如下(紅色部分是關鍵)。該樣式,在瀏覽的時候可以正常顯示,只是列印的時候不列印class為noprint的元素。

如果使用者已經有列印**,只需要你列印資料內容上去,就是所謂的套打。

你當然可以設計乙個只有要列印的資料項的**,然後通過css來控制元素的位置和字型等格式。也可以結合1.2.2的描述將不需要列印的部分隱藏,這樣更便於你的列印預覽除錯。

如果你的列印格式比較複雜,在現有頁面通過上邊介紹的方式實現起來比較麻煩,那就乾脆使用iframe列印吧。那樣你只需要提前畫好乙個頁面,在要列印的時候使用js將內容或者模板頁面路徑傳給iframe即可。

**如下:

window.frames['printfrm'].location.href = "頁面路徑";

settimeout("printaction()","1000");//為防止頁面未載入完就列印,延遲一秒

function printaction()

如果不希望iframe被看到,就像下邊這樣,將高度設定為0吧

當然,如果需要自己來控制頁邊距、頁首、頁尾等,可以先按1.6中描述方式進行設定。

在列印的時候,你可能希望由自己來控制頁邊距、頁首、頁尾等。可以按如下方式,在列印前進行相應的設定(注:由於使用了activexobject,需要進行相應的瀏覽器安全設定,將瀏覽器安全設定中有關「activex控制項和外掛程式」下的相關限制放開,當然,這樣做不是很安全。可以將系統訪問位址設定為「受信任的站點」,在「受信任的站點」的自定義級別中放開相應限制,這就比較妥當了。)。

function setprint()catch(e)

}

瀏覽器列印經驗總結

js呼叫瀏覽器列印 可設定頁首 頁尾 頁邊距 如果有好用的列印控制項,用列印控制項。如果沒有,可以直接用瀏覽器自帶的列印功能。網頁內容直接列印。window.print document.getelementbyid 要列印的區域 id focus window.print css 控制某一部分不列...

跨瀏覽器開發經驗總結(二) CSS

css類級別的hack僅ie7識別 html ie6及ie6以下識別 html opera safari chrome識別 media all and min width 0px 不識別,但firefox3.6也識別該規則,如果firefox版本有嚴格要求,請使用下一條規則 media screen...

瀏覽器列印

2004年12月21日 author longware longware 126.usage note 瀏覽器需求ie6.0 在http頁面上列印必須將ie的安全級別降低.document.writeln document.writeln document.write document.writel...