项目中有个需求,需要监听webview的滑动事件,于是重写webview的onScrollChanged方法,但是一直不调用。
网上搜了下,有不少人也遇到onScrollChanged方法不执行并分享了解决方法。
比如ScrollView作为父布局嵌套了webview:
https://blog.csdn.net/u011692041/article/details/51005739
但是,我项目中的webview并没有使用到ScrollView。只能继续踩坑了,看了很久,我这边的代码确实是没什么问题了,
思索着会不会是h5那边的问题呢,于是我试着改下 webview.loadUrl("http://baidu.com"),惊喜得发现可以监听到事件了。
最终原因是h5那边设置了window不滑动,而是div滑动,所以客户端这边无论是android还是ios都监听不到webview滑动事件的。
找到问题,完结撒花。
网上看到一篇h5对客户端webview的影响,也可供作参考:
https://www.cnblogs.com/lizhanqi/p/9897660.html
记录一下,希望可以帮到遇到类似情况的小伙伴。