WizWebview – evaluateJavaScript(“document.height”)返回nil
在我的应用程序中,我需要获取WKWebView
网页的高度。 所以我使用下面的代码。
webView.evaluateJavaScript(("document.height"), completionHandler: { contentHeight,error in print(contentHeight) })
直到iOS 9,这正确返回网页高度。 但在iOS 10中, contentHeight
始终nil
。
我已经设定了
webView.scrollView.scrollEnabled = false
而Web视图在UITableViewCell
。
webView
和UITableViewCell
的高度是可变的。 在Web视图上有一个顶部和底部约束来适应单元格。
当我获得网页高度时,我希望它能够反映在单元格的高度。
尝试这个:
let javascriptString = "" + "var body = document.body;" + "var html = document.documentElement;" + "Math.max(" + " body.scrollHeight," + " body.offsetHeight," + " html.clientHeight," + " html.offsetHeight" + ");" webView.evaluateJavaScript(javascriptString) { (result, error) in if error == nil { if let result = result, let height = JSON(result).int { self.htmlContentHeight = CGFloat(height) self.resetContentCell() } } }
PS。 WKWebiew呈现问题: WKWebView无法在iOS 10中正确呈现
你可以尝试使用
webView.evaluateJavaScript(("document.body.offsetHeight"), completionHandler:^(id _Nullable result, NSError * _Nullable error) { NSLog(@">>>%@",result); })
- iOS – 奇怪的例外
- iPhone的 – 正确的方式获取当前的date和时间给定的地点/时区,并与另一个date/时间在同一地点比较
- 在iOS(UIDocumentPickerViewController)上保存一个iCloud驱动器安全范围的URL
- xcodebuild:cdtool无法编译:DataModelCompile /path/to/coredatamodel.xcdatamodeld dyld:找不到符号:_OBJC_CLASS _ $ _ OS_object
- 推送通知-didFinishLaunchingWithOptions
- 你可以animationsetRootViewController?
- 重新sortingUITableView无需重新sorting控制
- UIImageView内的UIButton不响应水龙头
- 如何从Swift中的uitableviewcell类引用控制器