我想在一个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,它是一个JavaScript库,可嵌入HTML文件中的PDF文件。它能很好地处理浏览器兼容性,并且大多数情况下也可以在IE8上工作。
在您的HTML中,您可以设置一个
<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");
这是用于从<iframe>
链接可通过HTTP(S)访问的PDF文件的代码:
<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中PDF文件无法在Internet Explorer中打开 - 用户将看到一个空白的灰色屏幕。 我该如何为我的用户解决此问题?
同时,确保 Web 服务器以 Content-Disposition = inline 的形式发送文件也非常重要。如果您自己读取文件并将其内容发送到浏览器,则可能不是这种情况:
在 PHP 中,它看起来像这样...
...headers...
header("Content-Disposition: inline; filename=doc.pdf");
...headers...
readfile('localfilepath.pdf')
<iframe src="http://samplepdf.com/sample.pdf" width="800" height="600"></iframe>
class
属性值应该用引号括起来。iframe
中?