This commit is contained in:
Suresh, Kamlesh 2020-08-24 22:14:05 -04:00
parent db851b00a9
commit d2f334067a

View File

@ -134,27 +134,25 @@ extension WebView : WKUIDelegate {
while evaluateJavaScript "document.readyState",only works when webview contains userscrpt.otherwise, it would return WKErrorDomain Code=4 "A JavaScript exception occurred". while evaluateJavaScript "document.readyState",only works when webview contains userscrpt.otherwise, it would return WKErrorDomain Code=4 "A JavaScript exception occurred".
so webView.isLoading to check load finished state so webView.isLoading to check load finished state
*/ */
if !webView.isLoading { webView.evaluateJavaScript("document.readyState", completionHandler: { (complete, error) in
webView.evaluateJavaScript("document.readyState", completionHandler: { (complete, error) in if complete == nil {
if complete == nil { return
return }
} webView.evaluateJavaScript("document.body.scrollHeight", completionHandler: { [weak self] (result, error) in
webView.evaluateJavaScript("document.body.scrollHeight", completionHandler: { [weak self] (result, error) in guard let self = self else {
guard let self = self else { return
return }
} let scrollHeight = self.webView?.scrollView.contentSize.height ?? 44.0
let scrollHeight = self.webView?.scrollView.contentSize.height ?? 44.0 if let height = result as? CGFloat,
if let height = result as? CGFloat, height < scrollHeight {
height < scrollHeight { self.webViewHeight?.constant = height
self.webViewHeight?.constant = height } else {
} else { //if failed to get height from javascript, using scrollview.contensize's height
//if failed to get height from javascript, using scrollview.contensize's height self.webViewHeight?.constant = scrollHeight
self.webViewHeight?.constant = scrollHeight }
} self.delegateObject?.moleculeDelegate?.moleculeLayoutUpdated(self)
self.delegateObject?.moleculeDelegate?.moleculeLayoutUpdated(self) })
}) })
})
}
} }