使用'document.body.scrollHeight;'计算UIWebView内容动态高度 在iOS 10中返回更大的值

Ana*_*tam 8 javascript objective-c uiwebview ios ios10

我正在使用Objective C创建一个应用程序,我正在使用它UIWebView来显示HTML格式的内容.我在UIWebView委托方法中使用下面的代码webViewDidFinishLoad

NSUInteger contentHeight = [[aWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.body.scrollHeight;"]] intValue];

计算视图内容的高度,这是工作的罚款iOS8,iOS9iOS11但在iOS10iPhone手机的内容高度返回比实际含量值一个更大的价值.因此,我在屏幕上的webview底部获得了一些额外的空白区域.

我尝试了所有的解决方案,但只在iOS 10中获得相同的错误内容高度.请帮我解决这个问题.先感谢您!

Chr*_*s J 0

可悲的是,我也无法追查这个问题。但是,我想我知道罪魁祸首:html<tables>和自动调整大小。在苹果的 safari 变更日志中,有很多关于视口和渲染更改的讨论,但没有足够具体的讨论。

不同版本之间的 webview(safari 支持)渲染 HTML 的方式会有所不同;这是有道理的,尽管我无法提炼出太多的韵律或理由以及明确的CSS,但<table>什么<body>也没产生。

希望这个部分答案有助于取得一些进展或至少能够解决问题。