Как открыть 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?
Ответы
Ответ 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.