|  |      1superleexpert      2016-01-14 18:39:31 +08:00 web 端的图片设置成异步占位加载, app 端调用 JS:document.body.scrollHeight;获取高度。 如追求体验的话,可以把 JS 、 CSS 等 web 样式模板全部预先保存到本地,请求时只去拿 html string ,然后套模板加载,比如 某某新闻 App 。 | 
|  |      2banxi1988      2016-01-14 20:04:15 +08:00 我有两种方法你试试 1) 一种是 通过 JS 在 window.onLoad 方法之后,计算高度.这个计算高度则需要.计算最高的高度. 参考 :<http://stackoverflow.com/questions/1145850/how-to-get-height-of-entire-document-with-javascript> 2) 另一种是 通过 KVO 监听 webview.scrollView.contentSize 这样也是可行的. | 
|      3Panway      2016-01-14 20:18:35 +08:00 via Android 别用 js 计算了,也别用 sizeThatFits ,这个才是最精确最简单的 - (void)webViewDidFinishLoad:(UIWebView *)aWebView { aWebView.scrollView.scrollEnabled = NO; CGRect frame = aWebView.frame; frame.size.width = 200; frame.size.height = 1; aWebView.frame = frame; frame.size.height = aWebView.scrollView.contentSize.height; aWebView.frame = frame; } 来自 http://stackoverflow.com/a/13096183 | 
|  |      4MajestySolor      2016-01-14 20:34:58 +08:00 3 楼这个写法帅呆了 | 
|  |      5sablib      2016-01-14 21:00:27 +08:00 对啊,就像3楼一样。 webview 它也是一个 scroll view ,直接取 contentSize 吧。 | 
|  |      6kenshinhu OP | 
|  |      7muzuiget      2016-01-14 21:30:45 +08:00 图片高度未知的话,没办法的吧,加载的时候肯定不停撑长网页高度。要不就用 css 给每张图片预定义好高度,这样 domready 是网页高度就固定了。 | 
|  |      8muzuiget      2016-01-14 21:32:21 +08:00 想了下不对, domready 时 css 也可能未必完全解析完,延迟一点在取也就差不多。 |