我们用angular开发了一个微信公众号网页程序,完美持续运营3年,今年4月份突然发现在首页上拉加载数据的时候无法上拉。
突然出现的这个问题把我们都整懵了,为啥突然就不能上拉了?
刚开始查询微信浏览器是不是更新什么东西了,结果查了半天也没发现什么有用的文章。
百度的时候倒是查到了一点有用的信息,但是我们用的都是angular的组件ng-zorro-antd-mobile,内部已经实现了兼容,所以又不行
失败!
关键是手机的微信浏览器不能debug,这就很费劲了。
查看组件的源码,但是发现源码写的都没有问题-.-!
最后只能alert出srollTop参数,发现为啥它的精度怎么这么大,小数点后好几位!然后又发现这个组件在判断是否到达底部的地方用的是“===”!
叮!发现问题!喜大普奔~
最后把“===”改成了“>=”,并且把scrollTop向上取整!问题终于得到解决
结论:微信浏览器的获取滚动距离的关键参数scrollTop不是整数!判断的时候要谨慎
最后的最后希望这篇文章能给你带来启发,创造更出色的代码!