在新标签页中的iframe中打开PDF - Google Chrome

时间:2016-08-17 06:17:50

标签: html google-chrome pdf iframe

我有一个包含嵌入式iframe的网页(iframe内容托管在同一个域下)。在iframe中,有一个链接可以在单击时在新选项卡中打开PDF文件。

iframe包含HTML:

<iframe src="./pages/ins_and_outs/ins_and_outs.html" width="100%" height="800"  frameborder="0" id="ins-and-outs" target="ins-and-outs" sandbox="allow-scripts allow-top-navigation allow-popups"></iframe>

IFRAME:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
...
<a href="./ins-and-outs/downloads/ins-and-outs.pdf" target="_blank">Open our infographic</a>
...
</html>
  • Chrome版本:52.0.2743.116(64位)
  • OS:OSX 10.11.2

点击Google Chrome中的PDF链接后,会打开一个新标签,显示空白页面,但地址栏中包含PDF的网址。

我首先认为这是PDF本身的一个问题,所以我手动将其URL粘贴到浏览器的地址栏中,但发现它没有问题。

然后我继续在Firefox中测试我的页面,单击该链接导致PDF在新选项卡中正确显示。

我还尝试将链接放在iframe之外用于测试目的,这也适用。

我的结论是,通过点击 iframe 新标签中打开 PDF 是一个具体问题>,仅限Google Chrome。

任何关于究竟是什么导致这种情况的想法,以及可能的解决方案是什么?

我现在正在做的一个quickfix正在添加&#34;下载&#34;属性为链接,因此它不再显示PDF,只是下载它。

<a href="./ins-and-outs/downloads/ins-and-outs.pdf" target="_blank" download>Open our infographic</a>

1 个答案:

答案 0 :(得分:0)

我发现了一些东西!我知道您的问题是2年前,但是如果您在iframe中使用沙箱“ allow-popups-to-escape-sandbox”,那么它将起作用。

这里是一个例子:

<iframe id="blue" src="iframe.html" sandbox="allow-popups-to-escape-sandbox"></iframe>
相关问题