我有一个带有嵌入式 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>
内联框架:
<!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 位)
- 操作系统:OSX 10.11.2
在谷歌浏览器中点击 PDF 链接后,它会打开一个显示空白页面的新标签页,但地址栏中会显示 PDF 的 URL。
我一开始以为是PDF本身的问题,所以我手动复制粘贴它的URL到浏览器的地址栏中,但发现它显示没有问题。
然后我继续在 Firefox 中测试我的页面,单击那里的链接导致 PDF 在新选项卡中正确显示。
出于测试目的,我还尝试将链接放在 iframe 之外,效果也不错。
我的结论是,通过单击 iframe 中的链接在新标签中打开 PDF 是一个特定问题,并且仅在谷歌浏览器中。
对于究竟是什么导致了这种情况,有什么想法吗?什么样的解决方案是可能的?
作为快速修复,我现在正在做的是向链接添加“下载”属性,这样它就不再显示 PDF,而只是下载它。
<a href="./ins-and-outs/downloads/ins-and-outs.pdf" target="_blank" download>Open our infographic</a>
最佳答案
我发现了一些东西!我知道你的问题是 2 年前的,但如果你在你的 iframe 中使用沙箱“allow-popups-to-escape-sandbox”,这将有效。
这是一个例子:
<iframe id="blue" src="iframe.html" sandbox="allow-popups-to-escape-sandbox"></iframe>
关于html - 在新标签页的 iframe 中打开 PDF - Google Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38989339/