如何在<iframe>中打开PDF文件?

我想打开一个iframe中的PDF文件。 我正在使用以下代码:

<a class="iframeLink" href="https://something.com/HTC_One_XL_User_Guide.pdf" jQuery1640737952376988841="85"> User guide </a> 

它在Firefox中打开罚款,但它不在IE8中打开。

有谁知道如何使它也适用于IE浏览器?

使用iframe来“渲染”PDF不适用于所有的浏览器; 这取决于浏览器如何处理PDF文件。 某些浏览器(如Firefox和Chrome)具有内置的PDF格式,允许他们在一些旧版本的浏览器(也许旧版本的IE尝试下载文件)上显示PDF内联。

相反,我build议检出PDFObject ,它是一个Javascript库,将PDFembedded到HTML文件中。 它很好地处理浏览器的兼容性,很可能会在IE8上工作。

在你的HTML中,你可以设置一个div来显示PDF文件:

 <div id="pdfRenderer"></div> 

然后,你可以使用Javascript代码在该divembeddedPDF:

 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="800px" height="600px" > 

小提琴: http : //jsfiddle.net/cEuZ3/1545/

编辑:你可以使用JavaScript,从<a>标签( onclick事件)设置运行时的iFrame的SRC属性…

编辑2:显然,这是一个错误(但有解决方法):

PDF文件无法在Adobe Reader 10.0中打开 – 用户会看到一个灰色的空白屏幕。 我如何解决这个问题,为我的用户?

确保Web服务器使用Content-Disposition = inline发送文件也很重要。 如果您正在阅读文件并将其内容发送到浏览器,则可能不是这种情况:

在PHP中,它会看起来像这样…

 ...headers... header("Content-Disposition: inline; filename=doc.pdf"); ...headers... readfile('localfilepath.pdf') 

像这样做:

 <iframe src="sample.html" width="800px" height="600px"></iframe> 

记得closuresiframe标签。