PDF, встроенный в тег <object> или <embed>, не загружается в IE 11
Я должен создать слайдер изображений, для которого я использую:
"Плагин Galleriffic> http://www.twospy.com/galleriffic/",
в слайдере изображений, наряду с изображениями, я должен показать PDF-файлы для некоторых случаев.
И чтобы показать это, я ставлю <div>
который встраивает PDF внутри "<div class="caption">
"где вы можете показать описание, относящееся к изображению.
Для слайдера с PDF вы можете увидеть полный код здесь: http://jsfiddle.net/Z99gr/2/
Я пытаюсь вставить PDF с помощью <object> or <embed>
tag, отлично работает в Chrome и Firefox. НО не в IE11.
Я не могу понять, чего не хватает, так как я создал еще одну скрипку с одним div, который встраивает PDF и прекрасно работает во всех трех браузерах: Chrome, Firefox и IE11.
Пожалуйста, изучите проблему и предложите как можно скорее, что мне не хватает в IE 11.
Спасибо!
3 ответа
Теперь я могу вставлять файл PDF IE с помощью " <iframe>
" тег.
Я заменил <object>
" а также " <embed>
тег с <iframe>
и теперь он работает нормально со всеми 3 браузерами, Firefox, Chrome и IE.
Есть 2 способа встраивания PDF в IE.
1-й способ: вызов PDF прямо в <iframe>
Ниже обновленный код:
<div id="pdf">
<iframe src="https://www.adobe.com/products/pdfjobready/pdfs/pdftraag.pdf" style="width: 100%; height: 100%;" frameborder="0" scrolling="no">
<p>It appears your web browser doesn't support iframes.</p>
</iframe>
</div>
2-й способ: если в браузере нет программы чтения PDF, вы можете вызвать HTML-страницу в <iframe>
который содержит <object>
тег.
Ниже приведен код для 2-го варианта
<div id="pdf">
<iframe src="pdf.html" style="width: 100%; height: 100%;" frameborder="0" scrolling="no">
<p>It appears your web browser doesn't support iframes.</p>
</iframe>
</div>
Код для " pdf.html "
<body>
<object data="lorem.pdf" type="application/pdf">
<p>It appears you don't have Adobe Reader or PDF support in this web browser. <a href="lorem.pdf">Click here to download the PDF</a>. Or <a href="http://get.adobe.com/reader/" target="_blank">click here to install Adobe Reader</a>.</p>
<embed src="lorem.pdf" type="application/pdf" />
</object>
</body>
Это сработало для меня!
Вот РАБОЧАЯ скрипка: http://jsfiddle.net/stmjvz4f/
Надеюсь, что это будет полезно для других в будущем!
Я рекомендую проверить 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");
Не помещайте атрибут "type" в
<object data="mydocument.pdf">
<p><a href="mydocument.pdf">Download</a></p>
<embed type="application/pdf" src="mydocument.pdf" />
</object>
Вам не нужно помещать это в iframe. Он может отображать элементы управления, поэтому я не думаю, что он будет работать внутри слайдера, как ожидалось.