【问题标题】:WKWebView - iframe content is not loading in simulator/deviceWKWebView - iframe 内容未加载到模拟器/设备中
【发布时间】:2015-09-07 14:35:05
【问题描述】:

我有一个带有 WKWebView 和 HTML 页面的小应用程序。 HTML 页面从 http://localhost 加载,运行在 iOS 应用内的小型 Web 服务器上。

问题是...当我尝试将内容加载到页面中的 iframe 时,它​​不会加载。从任何服务器(包括在 iOS 模拟器或设备中运行的服务器)在桌面 Web 浏览器中运行站点时,iframe 都可以正常工作。但是在模拟器或设备中运行的 WKWebView 中没有显示 iframe 的内容。我可以看到从 WKWebView 到真实 url 的请求(我的网站没有 iframe 阻塞标头并通过 http 或 https 提供服务)。

在使用 WKWebView 时找不到任何有关 iframe 内容阻塞的信息。 JavaScript 可以毫无问题地向同一个域发出请求并加载 JSON 数据,但 iframe 不会显示(或加载?)内容。

iframe代码是这样的,是用JavaScript插入的,但是我把这段代码直接放到页面的html中也加载不出来。

<p><iframe src="https://example.com/wwVzepZ9ZXgSzVa4GA_sWw" width="320" height="50" class="feedAds" frameborder="1"></iframe></p>

有什么帮助吗?我已经坚持了两天了。

【问题讨论】:

  • 快速更新:随着新想法的到来......在 WKWebView 的 iframe 中加载 localhost/image.jpg 是有效的,但外部 url 不是......所以这是某种安全问题/配置我错过了

标签: ios swift security iframe wkwebview


【解决方案1】:

对不起...我很愚蠢,愚蠢的愚蠢...

整个问题是要在 iframe 中加载的页面的服务器响应标头中的“错字”...

内容类型:内容类型:text/html;字符集=utf-8

双“内容类型:”-(无效的 http 标头)。 WKWebView 不会返回任何错误或调用任何错误回调,但也会将 iframe 留空。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多