2010-08-10 46 views
0

我有一個網頁,我在pop中顯示結算信息。這個彈出窗口是一個DIV,而不是一個新窗口。 在該彈出窗口中,有兩個div用於保存打印和關閉按鈕 ,另一個用於保存iframe。在javascript中捕獲CTRL + P並調用打印的自定義函數

然後,原因是當單擊打印按鈕時打印iframe的內容,以便打印和關閉按鈕不會打印。它像...

<div id='popupandcenterscreen'> 
<div>... print and close buttons</div> 
<div><iframe></div> 
</div> 

所以,在這裏單擊顯示的彈出其中一個iframe裝載顯示的結算信息,每個條目有一個法案鏈接的列表。

當用戶單擊打印按鈕時,我們只打印iframe的文檔內容。

但是,當用戶使用CTRL + P時,會打印包括背景父窗口和此彈出窗口的總窗口。

我認爲當彈出窗口打開時只能打印ctrl + p並僅打印iframe內容。

這怎麼可能?

回答

5

我認爲一個更好的解決方案是通過@media規則在你的CSS中控制渲染,或者包括基於媒體類型的不同樣式表。然後,您可以使用像display這樣的CSS屬性來隱藏一些要打印的元素,甚至可以給它們不同的大小和位置。

+0

只是想指出一篇描述這個話題的文章。 http://www.alistapart.com/articles/goingtoprint/ – grm 2010-08-10 07:32:04

+0

+1這正是打印樣式表的用途。不要試圖用不可靠的JavaScript破解它。 – bobince 2010-08-10 09:47:59

+0

好的。我認爲這將是一個10行腳本的問題,我覺得比使用CSS修復容易。 – 2010-08-11 09:53:53

1

使用Css會比JavaScript更好。

最終結果可能與其他結果相同,但在Css中會更容易,並且不太「哈克」。

如果你只使用JavaScript來排列當用戶按下Ctrl + P時打印時顯示的元素,它將起作用。

但是,如果用戶單擊菜單中的打印,您需要打印樣式表來整理頁面。