如何在 iOS 应用中显示 iframe

Posted

技术标签:

【中文标题】如何在 iOS 应用中显示 iframe【英文标题】:How can I display an Iframe in an iOS app 【发布时间】:2019-07-22 13:04:39 【问题描述】:

我有一个通过 cordova(只是 cordova 不是 ionic)为 androidios 创建的应用程序。该应用程序有一个集成的 iFrame,它在生成的 APK 中运行良好。它有一个“不允许明文 HTTP 流量”错误,已使用在此问题 Android 8: Cleartext HTTP traffic not permitted 上发布的一些说明进行了修复。

但对于 iOS 11,Iframe 无法正常工作,并且不会显示任何错误消息。它加载框架但内部是空白的。生成的应用充满了弃用。

是否有任何隐私政策,例如针对 iOS 的明文政策?或者我怎么知道为什么 iFrame 不工作?

【问题讨论】:

【参考方案1】:

由于您尝试在 Web 视图中加载纯 HTTP 内容,因此它可能被应用传输安全性阻止。您可以将 NSAllowsArbitraryLoadsInWebContent 键添加到您的应用的 Info.plist 中,将值设置为 YES(布尔类型)以便可以加载 HTTP 内容。

如果可能,最好在 HTTPS 下托管该内容。它不仅更安全,而且 Apple 要求启用此例外的正当理由,并且它可能会使应用程序受到更严格的审查(根据 https://developer.apple.com/documentation/security/preventing_insecure_network_connections#3138036)。

【讨论】:

我添加了一行和一个异常域 btu 似乎没有任何改变。甚至以为我尝试过使用 HTTPS 看起来需要在 config.xml 和页面本身中设置一些额外的 Cordova 位。您是否尝试过此帖子答案中的建议:***.com/questions/36318185/… 我已经修改了答案中建议的文件,但 iframe 仍然无法加载。我遇到了新的错误,但我认为这些是由 Cordova 造成的。

以上是关于如何在 iOS 应用中显示 iframe的主要内容,如果未能解决你的问题,请参考以下文章

iframe在IOS上显示时被放大

如何在 UIWebView 加载的 iframe 中注入 javascript - iOS

如何访问科尔多瓦 WKWebview ios 应用程序的 iframe 中的元素?

DIV悬浮层如何跨页面在iframe框架之上显示

如何关闭ios中网页iframe左右回弹效果

ios上网页iframe里,把页面下拉,进行元素的隐藏显示和增删节点的dom操作页面会瞬间回到顶部