2009-12-10 22 views
0

我是一個新手。請原諒,如果這是一個非常基本的問題。我隱藏並在window.print()上顯示CSS。在IE8和FF上頁面執行停止,直到我對打印作出響應(打印或取消),然後再次啓動並完成頁面加載。但在IE6和IE7上,頁面加載不會等待,直到我在打印對話框中作出響應。我如何暫停頁面執行,直到我在打印對話框上作出響應(打印或取消)?我不想使用settimeout,因爲它是在特定的時間。如果我選擇立即打印,頁面將不會加載,直到settimeout過期,反之亦然。請幫忙。等到打印完成 - jquery Asp.net MVC

+0

您已經提出了五個問題,從未投過票,只接受過一個答案。如果您發現本網站的建議有幫助,您應該對任何您認爲有幫助的答案投票(通過點擊答案中的向上箭頭)並接受最有幫助的答案。這是一種說「謝謝!」的方式 – 2009-12-10 22:01:46

回答

1

不要隱藏和顯示在window.print()。它永遠不會正常工作,並會導致其他問題。

相反,使用單獨的打印CSS文件:

<link href="/Content/Print.css" rel="stylesheet" type="text/css" media="print"/> 

該文件定義打印樣式,如:你不想

.noprint 
{ 
    display: none !important; 
} 

然後,您可以標記元素打印:

<img class="foo bar noprint" ... 

與隱藏和顯示上window.print(),這個工程用JavaScript DISABL編輯。

+0

亞..你說得對。即使我想過。但是我想在實際打印之前顯示頁面的預覽。所以,這迫使我使用隱藏和顯示。我個人討厭這樣做。你有什麼想法如何做? – bluwater2001 2009-12-10 22:12:02

+0

在新窗口中打開預覽,該窗口使用打印樣式表,除非沒有'media =「print」'。 – 2009-12-10 22:15:00

+0

謝謝克雷格。期待你的答覆。直到現在,我總是以名字親自感謝人們。我認爲這是更好的方式來表達謝意。但我會確保我將從現在起標記爲答案.. – bluwater2001 2009-12-11 16:17:41