【问题标题】:Get content Height of WKWebView incorrect获取 WKWebView 的内容高度不正确
【发布时间】:2018-06-01 04:38:55
【问题描述】:

我正面临通过 Whooshkaa 播放列表链接 https://player.whooshkaa.com/player/playlist/show/2321?sharing=true 获取 WebView 内容高度的问题。

自定义 View 中的 WKWebView,加载 WebView 成功后我将重新计算框架视图。

我尝试了 3 种方法:

  • 当 webView contentSize 像这样改变时创建一个观察者Example
  • 像这样评估JavaScript:
  func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {

    webView.evaluateJavaScript("document.body.offsetHeight") { [weak self] (height, _) in
        guard let height = height as? CGFloat else { return }
        // Still 200
    }
}

--->但是所有的情况都只返回200px的offsetHeight。 如您所见,它仍然缺少下面的播放列表内容。

还有其他方法/技巧可以让我正确获取 offsetHeight 吗?

【问题讨论】:

标签: javascript ios swift wkwebview


【解决方案1】:

200px 是您分享的页面的最小高度。您可能需要检查您的 webview 框架。

不要将 CGRect.zero 用于初始帧,这可能会导致页面加载错误。我添加了简单的代码示例,它可以正常工作。

【讨论】:

  • 您的回答好像我必须减去 webView 框架?我用 WKWebView(frame: CGRect.zero) 创建了 WebView。我的目标是加载完成后需要根据 webView 的内容大小设置 webView 的框架。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-16
  • 2012-10-18
  • 2013-09-04
相关资源
最近更新 更多