js获取安卓内嵌h5的高度不准确

原生页面内的主要内容区域为h5页面,html页面直接放于包内,通过js获取页面内容高度,获取内容高度用的是document.body.clientHeight,将获取到的高度传给原生,设置内容区域高度;


问题是会偶尔出现js获取的高度不准确,获取到的值要远远高于内容的实际高度,造成页面上出现很长的一段白色无内容部分,只在安卓上出现这种情况,ios无此问题。

你好,因为你的高度是撑起来的,并不是设置固定的高度,在执行js的时候因为是并行的,执行js获取的时候dom还没渲染完成,所以可能会发生 获取的高度不一的情况,这种情况解决的办法是 可以用定时间延时执行获取到高度的js,等dom完完全加载完成之后.或者给dom设置一个最小高度,那么久可以精准的获取这个高度了. 希望能帮到你,欢迎追问喔!

Math.min(document.body.clientHeight,document.documentElement.clientHeight)

@lllomh 我是在等dom加载完成获取的高度,而且300毫秒间隔进行了3次轮询,内容部分如果有图片,会在图片加载完成后再次重置高度

安卓模块定高的话直接css calc(100vh - 200px)的方式即可解决问题

@xcodebin 高度不是固定的