dequan1331 / HybridPageKit

A high-performance、high-extensibility、easy integration framework for Hybrid content page. Support most content page types of News App.
MIT License
1.22k stars 187 forks source link

前端页面通过JS滚动web的话,然后再次手势滑动,会有闪一下的效果,这个没考虑到 #35

Closed niuxianbin closed 4 years ago

dequan1331 commented 4 years ago

是的,这种场景暂时没有实现,因为从设计的出发点来说,作为混合的页面(WebView + 多种Native组件)是更偏向于Native的展示和交互,使用WebView除了基本的展示之外应该有较少的内部逻辑,即使有,也应该通过JS API的方式传递给Native来进行统一的处理,以满足Native测的协同交互。

具体的原因:整个的页面包括WebView和其他的component是联动的,所以当WebView内部滚动时,没有触发联动的逻辑,contentOffset没有更新,所以会闪动到之前的位置。

对于这个场景,业务测可以处理规避下:

  1. 如果是自己的页面,建议使用JSApi的方式回调到Native来处理,这样也能支持更复杂的交互逻辑。
  2. 如果不是自己的页面,可以监听webview的contentOffset,当JS执行滚动时,调用HybridPageKit中的函数使整个页面联动滚动,当然这种方式要区分下是JS触发的offset变化还是用户滑动页面触发。

也十分欢迎pull request完善相应的逻辑。