【发布时间】:2013-03-07 00:35:08
【问题描述】:
在我们的 Web 应用程序中,我们使用以下代码行在 iframe 中显示 PDF 文档:
<iframe id="iframeContainer" src="https://example.com/pdfdoc.pdf"
style="width:100%; height:500px;"></iframe>
这适用于所有主要桌面浏览器,PDF 的宽度缩放以适合 iFrame 的范围,垂直滚动条可查看文档中的所有页面。
目前,我无法让 PDF 在 Mobile Safari 中正确显示。在这种情况下,只有 PDF 的左上部分是可见的,没有任何水平或垂直滚动条来查看文档的其余部分。
有人知道我在 Mobile Safari 中解决此问题的方法吗?
更新 - 2013 年 3 月
经过数小时的搜索和实验,我可以得出结论,这个问题真是一团糟!!有很多解决方案,但每一个都远非完美。我建议任何其他为此苦苦挣扎的人参考'Strategies for the iFrame on the iPad Problem'。对我来说,我需要写下这个并为我们的 iPad 用户寻找另一种解决方案。
更新 - 2015 年 5 月
只是对这个问题的快速更新。最近开始使用 Google Drive 查看器,基本解决了原来的问题。只需提供 PDF 文档的完整路径,Google 就会返回对您的 PDF 的 HTML 格式解释(不要忘记设置 embedded=true)。例如
我将其用作较小视口的后备方案,并将上述链接嵌入到我的<iframe>。
【问题讨论】:
-
关于您的“更新 - 2015 年 5 月” - Google Drive 查看器解决方案对我来说效果很好,似乎已经解决了我们遇到的 IOS Safari 和 Android 问题。谢谢!
-
当在不同来源的 iFrame 上引用 Google Drive 时,这是如何工作的?我在尝试嵌入 Google 云端硬盘链接时收到
'X-Frame-Options' to 'sameorigin'.错误。 -
我以为这会解决我的问题,但我使用 Google 收到
Preview not available的次数太多了:/ -
“iPad 上 iFrame 问题的策略”的链接现已过时,似乎已移至此处:blogs.magnolia-cms.com/christopher-zimmermann/…
-
天啊,这个答案太棒了。它从字面上解决了在移动 safari 和 ios 中查看 pdf 的问题。 +10000000 给你。
标签: ios ipad pdf iframe mobile-safari