2013-07-29 57 views
0

在我開發的網站中,單擊鏈接時,會打開一個顯示PDF文件的新瀏覽器窗口。它可以在除IE 8以外的所有瀏覽器上運行。IE 8顯示空的瀏覽器窗口。當我檢查時,文件是由瀏覽器下載的,但瀏覽器不顯示PDF文件。這讓我陷入了很長時間,最終它被一位同事解決了。我想在此分享解決方案,以便其他人不必經歷我經歷的痛苦。PDF在Internet Explorer 8中未打開

+0

隨時分享。 – PiLHA

+0

我不明白你爲什麼給-1。我只是試圖幫助。 – neo

+0

我沒有。我鼓勵他分享。 – PiLHA

回答

2

在該網站中,我們禁用緩存以阻止用戶使用瀏覽器後退按鈕倒退。

HttpCacheability.NoCache 

IE 8要求在顯示之前將要顯示的任何文件保存在臨時文件中。禁用緩存中斷保存到臨時文件。即使瀏覽器成功下載了文件,由於它無法保存文件,它並未顯示使用活動x顯示的pdf內容或任何其他文檔。我們瞭解到,這是一個IE 8的bug,它在IE 9中得到了修復。

將緩存更改爲私人修復問題。

Response.Cache.SetCacheability(HttpCacheability.Private); 
Response.ClearHeaders(); 
Response.ContentType = "Application/pdf"; 
Response.WriteFile(path); 
+0

永遠不要使用Response.End()。請參閱http://stackoverflow.com/questions/1087777/is-response-end-considered-harmful – Rake36

+0

在這裏重點是緩存。感謝您的額外信息。 – neo

+1

是的,但如果有人削減/粘貼你的答案,他們以後會對自己造成問題。 – Rake36