lobol
lobol
  • 发布:2017-09-19 10:52
  • 更新:2017-09-19 11:22
  • 阅读:2106

mui.back(),一直在同一个界面死循环

分类:MUI
mui

安卓APP界面,用的是mui的返回标签

<header class="mui-bar mui-bar-nav" data-goback="true" data-href="#support">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 id="title" class="mui-title">--</h1>
</header>

频繁返回操作之后,内存小一点的手机,会内存溢出报错,错误返回到之前访问的界面,然后点击这个界面的返回按钮,还是在这个界面;跳不出去了,一直在同一个界面返回,死循环了。

我想问的是:mui的返回标签,怎么避免在同一个界面返回。

刚开始用mui,希望能得到大家的帮助,谢谢啦。

2017-09-19 10:52 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

在5+Runtime环境下,也就是开发5+App的时候。mui.back()会响应Android的backbutton,执行关闭当前Webview的逻辑。已经关闭的Webview,如果不重新打开,是不会再出现的。

如果有其它需求,可以直接重写mui.back()方法。

var oldBack = mui.back;  
mui.back = function(){  
    //TODO 重写back的逻辑  
}

参考相关文档
http://dev.dcloud.net.cn/mui/window/#closewindow
http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject.close

上面描述的问题,使用hellomui或helloh5示例工程,可否重现?
这里提供一个简单的思路,可以避免点击频繁,导致在短时间内频繁建立通信的问题。

var oldBack = mui.back;  
var flag = false;  
mui.back = function() {  
    if(!flag) {  
        flag = true;  
        plus.webview.currentWebview().close();  
    }  
};

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