Получить содержимое Высота WKWebView неверно - PullRequest
0 голосов
/ 01 июня 2018

У меня возникла проблема с получением содержимого Height of WebView по ссылке плейлиста Whooshkaa https://player.whooshkaa.com/player/playlist/show/2321?sharing=true.

WKWebView внутри пользовательского View, и я собираюсь пересчитать фрейм-представление после успешной загрузки WebView.

Я пробовал 3 способа:

  • Создать наблюдателя, когда содержимое webView contentSize изменилось следующим образом Пример .
  • Оценить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
    }
}

---> Но все случаи возвращают offsetHeight только 200px. Как вы можете видеть, он по-прежнему отсутствует в списке воспроизведения ниже.

enter image description here

Есть ли другой способ / трюк, чтобы я мог правильно получить offsetHeight?

1 Ответ

0 голосов
/ 01 июня 2018

200 пикселей - минимальная высота страницы, которой вы поделились.Возможно, вам придется проверить фрейм веб-просмотра.

Не используйте CGRect.zero для начального фрейма, это может привести к ошибке загрузки страницы.Я добавил простой пример кода, и он работает как надо.

enter image description here

enter image description here

...