Eason
Eason
  • 发布:2016-08-29 18:10
  • 更新:2016-08-31 17:56
  • 阅读:1603

android单webivew下拉刷新

分类:MUI

前提:
阅读了官方的文档和源码。ios和非h5+环境下默认使用div下拉刷新,而android由于性能原因,重写了$.fn.pullRefresh,使用子webview检测到有下拉刷新初始化代码时,通知父webview进行初始化。下拉刷新时,用webview的下拉代替div的下拉。

场景:
1、多端发布
2、标题栏定制,和页面之间有交互(动画、事件),见附件

方案:
1、修改mui.js的源码,将第4925行pullRefresh 5+相关的android代码直接return跳过,将第2780行判断环境代码注释,直接调用div刷新的初始化$container.pullRefresh(pullRefreshOptions);
2、使用父子页面嵌套

问题:
多端发布:父子嵌套转换为iframe是否有坑
标题栏定制:动画、事件都要实时通知执行,又加上多端发布降级到iframe是否有坑
基于多端发布、标题栏定制、性能等因素来考虑,官方的同学和各位同仁有什么较好的意见?

2016-08-29 18:10 负责人:无 分享
已邀请:
Eason

Eason (作者)

@DCloud_MUI_CHB @DCloud_MUI_FXY @DCloud_MUI_果汁 @DCloud_客服_小青年 @DCloud_App_Array 帮忙看下谢谢。

赵梦欢

赵梦欢 - 专注前端,乐于分享!

这种问题仁者见仁智者见智,很难说什么方案最好。iframe和div模式性能肯定不及webview好,而且如果dom结构复杂,div模拟滚动在android上体验肯定是不是很好的。但是个人觉得iframe模式目前觉得是作为webview兼容处理比较好的方案,在5+环境使用双webview滚动,使用原生的下拉刷新;在普通浏览器使用iframe作为兼容处理,用div模式的下拉刷新。

  • Eason (作者)

    谢谢回复

    2016-09-01 11:00

该问题目前已经被锁定, 无法添加新回复