Skip to content

如何在原生端解决 webview 滚动冲突问题? #1593

Description

@dongnaebi

目前我们已经做了 webview 的 scrollTop 为 0 时,下拉才触发下拉刷新,但这只解决了页面级滚动冲突,页面内比如 div 的滚动就不行。

一个实际的场景:

一个网页中通过一个按钮打开上拉抽屉,上拉抽屉是一个可滚动的 div,此时网页就需要去处理:当打开抽屉时让页面向上滚 1px,不然抽屉里的 div 就没法滚动。

但是当页面不可滚动的时候,向上滚 1px 就失效了,这时就只能通过 jsBridge 来通知原生端禁用下拉刷新。

目前我们就是这么解决这个问题的,但是这会产生非常多的前端垃圾代码,每次只要涉及到此类页面内滚动的,都要去写禁用和恢复逻辑,经常漏做导致体验差。

有没有什么办法能在原生端解决这个问题?

视频是这个冲突的演示:
https://github.com/user-attachments/assets/2e335be5-ed17-4d1d-b2b8-89eb477276e0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions