【发布时间】:2019-08-30 23:09:18
【问题描述】:
我在我用 swift 编写的 iOS 应用程序中创建了一个本地 HTML 文件。将 HTML 文件加载到 WKWebView 中,如下所示:
let url = Bundle(identifier: myIdentifier).url(forResource: "localHtmlFile", withExtension: "html")
let htmlFormatString = try String(contentsOf: url)
loadHTMLString(string: htmlFormatString, baseURL: nil)
HTML 页面包含我希望加载外部页面的 iframe:
<div>Test</div>
<iframe src="https://www.somepage.com"></iframe>
本地 HTML 文件加载成功,在 div 中可以看到 Test 文本。 iframe 也已创建,但为空。如果我使用 Safari 开发人员工具进行调试,则只有一个空的 html 页面,但没有加载任何内容。此外,根本不执行对 url 的网络请求。
但是如果我插入一个带有<script src="https://url-to-some-js">的外部JavaScript文件,就会成功加载JS代码,所以不存在网络问题。另外,如果我直接使用webView.load(URLRequest(url: url)) 加载网址,它工作正常。仅在 iframe 内,它不起作用。
如何将 iframe 制作为在 iOS WKWebView 中工作的外部资源?这完全被 iOS 阻止还是我必须配置其他东西?
【问题讨论】:
-
你找到解决办法了吗?
-
你找到解决办法了吗?
标签: ios swift xcode iframe wkwebview