iReho
iReho
  • 发布:2016-12-26 18:47
  • 更新:2017-03-02 16:33
  • 阅读:1356

【报Bug】更新7.6.4.201612241943后真机调试启动下拉刷新报错,求验证

分类:HTML5+
mui.plusReady(function() {  
    setTimeout(function() {  
        mui('#scroll').pullRefresh().pullupLoading();  
    }, 1000);  
});

如上所示,#scroll在页面上是存在的,androidi手机APP真机调试启动的时候,经常会出现图片上的错误(双webview的下拉刷新)。

另外,mui('#scroll').pullRefresh().pullupLoading();这句代码为什么要在plusReady后还要延迟1000毫秒加载?这样造成的后果是,初始化上拉加载的动作要延迟很久,用户体验很差。

2016-12-26 18:47 负责人:无 分享
已邀请:
iReho

iReho (作者)

出现这个错误的概率很大,求官方验证。

iReho

iReho (作者)

官方是否给个响应?谢谢!

赵梦欢

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

未发现相关问题,发一个可以重现问题的测试工程

  • iReho (作者)

    简单的测试工程没问题,我的工程做了很多预加载偶尔出问题,然后真机调试控制台输出很多日志,我估计是这些导致准备加载刷新延迟1000毫秒不够;告诉我为什么要延迟我就应该知道为什么会报错了,可以吗?

    2016-12-29 11:23

  • 赵梦欢

    回复 iReho: 因为你数据加载是一个异步操作,当然这里不一定要写1000,你即使写0应该也是可以的。

    2016-12-29 12:35

  • 赵梦欢

    另外可以设置down或者up的auto属性为true,初始化的时候自动加载一次,就无需使用mui('#pullrefresh').pullRefresh().pullupLoading();初始化。

    2016-12-29 12:45

  • iReho (作者)

    回复 赵梦欢:看了源码,双webview下.pullupLoading();函数是在mui.plusReady之后才生成的,这个时候如果直接不延迟调用mui('#scroll').pullRefresh().pullupLoading();的话就会报上面no method pullupLoading找不到改方法;用官方demo试了去掉异步情况下,真机调试这个错误必现。

    2016-12-29 15:11

  • iReho (作者)

    回复 赵梦欢:设置down或者up的auto属性为true,等会我试试,谢谢了。

    2016-12-29 15:12

BoredApe

BoredApe - 有问题就会有答案。

scroll 选择器选择的是什么元素?这个元素必须是一个标准scroll控件DOM

<div id="scroll || pullrefresh" class="mui-scroll-wrapper">  
    <div class="mui-scroll">  
        <!--这里放置真实显示的DOM内容-->  
    </div>  
</div>
  • iReho (作者)

    嗯,是这样标准的,原因可能是上面对小青年的回复中,不过求教一下为何要延迟1000秒去加载下拉刷新控件?(不延迟报错必现)

    2016-12-29 11:32

1***@163.com

1***@163.com

最后是怎么解决的?我也碰到这个问题 dom元素还没加载完,就下拉刷新了,和你的错一样,求回复

我是App第一次启动才出现这个错 第二次就不会有,搞不懂

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