Подтвердить что ты не робот

Как открыть PDF файл в <iframe>?

Я хочу открыть файл pdf в iframe. Я использую следующий код:

<a class="iframeLink" href="#" onclick="location.href='https://something.com/HTC_One_XL_User_Guide.pdf'; return false;"
   jQuery1640737952376988841="85"> User guide </a>

Он отлично работает в Firefox, но он не открывается в IE8.

Кто-нибудь знает, как заставить его работать и для IE?

4b9b3361

Ответ 1

Использование iframe для "рендеринга" PDF не будет работать во всех браузерах; это зависит от того, как браузер обрабатывает файлы PDF. Некоторые браузеры (например, Firefox и Chrome) имеют встроенный рендеринг PDF, который позволяет им отображать встроенный PDF файл, где, как и некоторые старые браузеры (возможно, более старые версии IE пытаются загрузить файл).

Вместо этого я рекомендую проверить PDFObject, который является библиотекой Javascript для встраивания PDF файлов в файлы HTML. Он отлично работает с совместимостью с браузером и, скорее всего, будет работать на IE8.

В вашем HTML вы можете настроить div для отображения PDF файлов:

<div id="pdfRenderer"></div>

Затем вы можете использовать Javascript-код для вставки PDF файла в div:

var pdf = new PDFObject({
  url: "https://something.com/HTC_One_XL_User_Guide.pdf",
  id: "pdfRendered",
  pdfOpenParams: {
    view: "FitH"
  }
}).embed("pdfRenderer");

Ответ 2

Это код для связывания доступного PDF файла HTTP (S) от <iframe>:

<iframe src="https://research.google.com/pubs/archive/44678.pdf"
   width="800px" height="600px" >

Fiddle: http://jsfiddle.net/cEuZ3/1545/

EDIT: и вы можете использовать Javascript из тега <a> (onclick) для установки атрибута SRC iFrame во время выполнения...

ИЗМЕНИТЬ 2: По-видимому, это ошибка (но есть обходные пути):

PDF файлы не открываются в Internet Explorer с Adobe Reader 10.0 - пользователи получают пустой серый экран. Как я могу исправить это для своих пользователей?

Ответ 3

Также важно убедиться, что веб-сервер отправляет файл с Content-Disposition = inline. это может быть не так, если вы сами читаете файл и отправляете его в браузер:

в php будет выглядеть так...

...headers...
header("Content-Disposition: inline; filename=doc.pdf");
...headers...

readfile('localfilepath.pdf')

Ответ 4

Сделайте это так:

<iframe src="http://samplepdf.com/sample.pdf" width="800px" height="600px"></iframe>

Не забудьте закрыть тег iframe.