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.

http://jsfiddle.net/dmAM3/1/

Пожалуйста, изучите проблему и предложите как можно скорее, что мне не хватает в 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" в , просто в , например так: Атрибут type в вызвал ошибку разрешения от Adobe Reader в IE11.

<object data="mydocument.pdf">
<p><a href="mydocument.pdf">Download</a></p>
<embed type="application/pdf" src="mydocument.pdf" />
</object>

Вам не нужно помещать это в iframe. Он может отображать элементы управления, поэтому я не думаю, что он будет работать внутри слайдера, как ожидалось.

Другие вопросы по тегам