Jenson
Jenson
  • 发布:2015-02-13 14:08
  • 更新:2015-02-13 18:05
  • 阅读:6422

选项卡式页面reload()之后遇到的bug

分类:MUI

结构是这样的进入app判断是否登录,未登录就mui.openWindow到login.html,然后登录信息验证后再执行自定义mui.back方法mui.fire(main,'refresh') 返回主页

var backRefresh = mui.back;  
mui.back = function(){                                              
        var main = plus.webview.getWebviewById( plus.runtime.appid );     
        mui.fire(main,'refresh');  
        //return true;  
        backRefresh();  
}

主页收到自定义事件refresh后执行reload(),如下

mui.plusReady(function(){  
    var self = plus.webview.currentWebview();  

    window.addEventListener('refresh',function(event){   //监听自定义事件  
        self.reload(true);  
    });  
})

刷新的页面是一个tab view,包含四个子webview,刷新之后第一个tab显示的webview和第四个tab显示的webview内容相同,需要在其他tab中切换一下才显示正确,不知是什么缘故?

2015-02-13 14:08 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

如果你是在tabview页面创建了4个子webview

当你reload这个tabview的时候,这个4个webview是不影响的。单tabview里边的代码会被重新执行一遍。等于又重新创建了4个子webview。

建议你需要reload的话。不要reload tabview。可以reload其他4个子webview.

  • f***@163.com

    我也遇到类似问题。login.html登陆后想A.html页面发送refresh事件,A.js 监听refresh时间后,执行reload(true),但是并没有摔性能。求指导。


    window.addEventListener("refresh",function(event){  
    var isLogin=event.detail.login;
    if(isLogin=='loginOn'){
    //调用初始化菜单栏方法
    monitorUtil.initTabName();
    setTimeout(function(){
    var curPage=plus.webview.currentWebview();
    curPage.reload(true);
    },3000);
    }else if(isLogin=='loginOut'){
    mui('.mui-table-view').each(function(){
    this.innerHTML='<p class="down-hinit">下拉加载数据...</p>';
    });

    }

    });

    2016-11-03 09:56

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