qq2324902209
qq2324902209
采纳率0%
2020-01-10 16:21

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

5
已结题

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


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

  • 点赞
  • 收藏
  • 复制链接分享

5条回答

  • qq2324902209 qq2324902209 1年前

    @xcodebin 高度不是固定的

    点赞 评论 复制链接分享
  • MiaoHuiZiJiDeGuShi xcodebin 1年前

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

    点赞 评论 复制链接分享
  • qq2324902209 qq2324902209 1年前

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

    点赞 评论 复制链接分享
  • jslang 天际的海浪 1年前
    Math.min(document.body.clientHeight,document.documentElement.clientHeight)
    
    点赞 评论 复制链接分享
  • lllomh lllomh 1年前

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

    点赞 评论 复制链接分享