苍穹一点
苍穹一点
  • 发布:2014-12-16 09:12
  • 更新:2017-02-21 15:08
  • 阅读:3396

关于应用的注销问题

分类:MUI

请问,如果一个html5 app应用要注销,然后返回登陆页面,怎么处理好一点。我现在是通过openwindow 打开登陆页面,然后在登陆后的首页进行webview的遍历,对非当前页进行close();>

2014-12-16 09:12 1 条评论 负责人:无 分享
已邀请:

最佳回复

Trust

Trust - 少说废话

入口页不可close,如果不希望显示入口页,可以将其hide。

下面提供一个较为通用的解决方案

/**  
 * 清理webview  
 * @example 适用场景:登录注销后,关闭无用或历史webview;  
 * @param {Array} idList 不被关闭的webview的id集合  
 */  
var clearWebview = function(idList) {  
    idList.push(plus.runtime.appid); //入口页不可销毁  
    var wvList = plus.webview.all();  
    for(var i = 0, len = wvList.length; i < len; i++) {  
        if(~idList.indexOf(wvList[i].id)) { //当前webview不需关闭  
            continue;  
        }  
        wvList[i].close('none'); //静默关闭,不使用动画效果;  
    }  
};
  • 3***@qq.com

    客服你好,我也是按照你这个代码做的。不关闭入口页和登录页,但是执行了后页面就空白了。IOS平台。

    2017-01-17 11:02

  • d***@163.com

    wvList[i].id

    2017-02-21 14:30

  • Trust

    回复 d***@163.com:多谢指正,已更正。

    2017-02-21 15:08

DCloud_UNI_CHB

DCloud_UNI_CHB

你的做法没问题,也可以在打开登录页后,关闭非登录页的所有页面。

  • 苍穹一点 (作者)

    好像也的确只有这样了。

    2014-12-16 13:53

  • 野原新之助

    具体怎么关闭除了本页之外的所有页面?

    2015-08-14 16:10

bennet

bennet

我也是按照这样做的,但是app出现闪退,请问为什么

  • 苍穹一点 (作者)

    这个具体原因得具体分析,你console调试下,看下在你的应用执行到close的时候,当前页面的id跟你openwidow打开的页面的id是否是一样了,如果一样了会关闭你打开的openwindow页,从而导致app的闪退

    2015-02-26 09:39

  • bennet

    回复 苍穹一点:我调试了,openwidow打开的页面的id是不一样的,但是app还是闪退,安卓4.4以上都闪退

    2015-02-28 14:55

  • DCloud_UNI_CHB

    确定Android 4.4以下终端没问题?建议写一个能重现问题的简单示例demo上传上来。

    2015-03-02 21:35

  • 苍穹一点 (作者)

    回复 bennet:希望可以把你相关的注销代码贴一下,现在有用信息有点少

    2015-03-06 11:26

y***@tom.com

y***@tom.com

这个问题怎么处理的,我现在也是直接退出了程序

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