我想在 iframe 中打开 pdf 文件。我正在使用以下代码:
<a class="iframeLink" href="https://something.com/HTC_One_XL_User_Guide.pdf"> User guide </a>
它在 Firefox 中打开良好,但在 IE8 中无法打开。
有谁知道如何使它也适用于 IE?
我想在 iframe 中打开 pdf 文件。我正在使用以下代码:
<a class="iframeLink" href="https://something.com/HTC_One_XL_User_Guide.pdf"> User guide </a>
它在 Firefox 中打开良好,但在 IE8 中无法打开。
有谁知道如何使它也适用于 IE?
使用iframe
“渲染”PDF 不适用于所有浏览器;这取决于浏览器如何处理 PDF 文件。某些浏览器(例如 Firefox 和 Chrome)具有内置的 PDF 渲染功能,允许它们内联显示 PDF,而某些较旧的浏览器(也许较旧版本的 IE 会尝试下载文件)。
相反,我建议查看PDFObject,它是一个用于将 PDF 嵌入 HTML 文件的 Javascript 库。它可以很好地处理浏览器兼容性,并且很可能适用于 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");
这是从以下链接链接 HTTP(S) 可访问 PDF 的代码<iframe>
:
<iframe src="https://research.google.com/pubs/archive/44678.pdf"
width="800" height="600">
小提琴:http : //jsfiddle.net/cEuZ3/1545/
编辑:您可以使用 Javascript,从<a>
标签(onclick
事件)在运行时设置 iFrame 的 SRC 属性...
编辑 2:显然,这是一个错误(但有解决方法):
使用 Adobe Reader 10.0 在 Internet Explorer 中无法打开 PDF 文件 - 用户会看到一个空白的灰色屏幕。我该如何为我的用户解决这个问题?
确保 Web 服务器使用 Content-Disposition = inline 发送文件也很重要。如果您自己阅读文件并将其内容发送到浏览器,则情况可能并非如此:
在 php 中它看起来像这样......
...headers...
header("Content-Disposition: inline; filename=doc.pdf");
...headers...
readfile('localfilepath.pdf')
直接 PDF 在手机上不起作用,它不支持响应式 UI。这是最好的解决方案。 https://stackoverflow.com/a/66548544/2078462
这样做:记得关闭 iframe 标签。
<iframe src="http://samplepdf.com/sample.pdf" width="800" height="600"></iframe>