2013-07-29 2 views
0

На веб-сайте, который я разрабатываю при нажатии ссылки, я открываю новое окно браузера, в котором отображается pdf-файл. Он работал во всех браузерах, кроме IE 8. IE 8 показывал пустое окно браузера. Когда я проверил, файл был загружен браузером, но браузер каким-то образом не показывал файл pdf. Это долго меня беспокоило, и, наконец, это удалось решить коллегой. Я хотел поделиться этим решением, чтобы другим не пришлось проходить через боль, которую я пережил.PDF не открывается в Internet Explorer 8

+0

Не стесняйтесь поделиться. – PiLHA

+0

Я не понимаю, почему вы даете -1. Я просто пытаюсь помочь. – neo

+0

Я этого не сделал. Я поощрял его делиться. – PiLHA

ответ

2

На веб-сайте мы отключили кеширование, чтобы остановить людей, возвращающихся назад, с помощью кнопки «Назад» браузера.

HttpCacheability.NoCache 

Для IE 8 требуется, чтобы файл, который будет отображаться, будет сохранен во временном файле перед его отображением. Отключение кэширования прервало сохранение во временном файле. Несмотря на то, что браузер успешно загрузил файл, так как он не смог сохранить файл, он не показывал PDF-файл или любой другой документ, который отображается с использованием активного x. Мы узнали, что это ошибка IE 8, и она была исправлена ​​в 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

Смежные вопросы