2010-03-27 53 views

回答

4

你可以傳遞到當前頁面的URL附加參數,並在新窗口中打開它,像這樣:

window.open(document.location.href + "?print=true"); 

然後,您可以讀取JavaScript中的URL參數,並做必要的隱藏和CSS改變使文檔易於打印。

說到其中:爲什麼不使用只爲您打印的只能打印的CSS?然後,您需要在代碼中執行的操作是:

window.print();

,並在文檔HEAD:

<link rel="stylesheet" href="yourcssfile.css" media="print" /> 

而CSS將確保頁面看起來你所希望的方式來打印。有關在CSS中打印的更多信息,請參閱this article

+0

對不起,沒看到你的帖子。 – ig0774 2010-03-27 23:29:00

+0

Thx Prutswonder!因爲我需要從同一個非打印友好的頁面生成幾個不同的版本(比如說一個頁面,DIV A隱藏,另一個頁面隱藏DIV B),我不能簡單地將一個css文件與媒體=「打印」到頁面。 – Ethan 2010-03-28 01:23:50

1

是的,有可能設置JavaScript代碼到這一點,是這樣的:

window.open('myPage.html') 

getElementById('<someid>').style.display = none 

但是,您可能想看看CSS打印樣式表,其中允許使用CSS來指定DIV hidings和諸如此類的東西。它的優點是不會強制用戶打開彈出式窗口,也不會在服務器上執行第二次加載頁面。我發現this article是一個開始的好地方。

基本上,添加打印樣式表你設置一個鏈接是這樣的:

<link rel="stylesheet" type="text/css" media="print" href="myPrintStyles.css"/> 
相關問題