周羊羊
周羊羊
  • 发布:2016-07-08 14:45
  • 更新:2016-07-09 11:42
  • 阅读:2397

【问题已经解决】为什么关闭后台的webview会先闪现?怎么静默关闭webview?

分类:HTML5+

登录成功之后,进入主页、close掉之前的几个页面

    plus.webview.getWebviewById("forget_next.html").close();  
    plus.webview.getWebviewById("forget_password.html").close();  
    plus.webview.getWebviewById("login.html").close();  

    setTimeout(function() {  
        plus.webview.currentWebview().close();  
    }, 100)

这样一段代码,"forget_next.html""forget_password.html""login.html" 这三个页面本来都在后面,看不见的,调用close时,会一个一个闪现,然后再关闭……
怎样才能静默关闭呢?

改成hide,不会闪,但是不想让这几个页面占内存啊……

--------------------------------------------已经解决的分割线---------------------------------
先hide再close就好了,注意close要加上参数 close('none', 0) 不然还是闪……

这样:


    plus.webview.getWebviewById("forget_next.html").hide();  
    plus.webview.getWebviewById("forget_next.html").close('none', 0);  

    plus.webview.getWebviewById("forget_password.html").hide();  
    plus.webview.getWebviewById("forget_password.html").close('none', 0);  

    plus.webview.getWebviewById("login.html").hide();  
    plus.webview.getWebviewById("login.html").close('none', 0);  

    setTimeout(function() {  
        plus.webview.currentWebview().close();  
    }, 200)  
2016-07-08 14:45 1 条评论 负责人:无 分享
已邀请:
blk

blk

先hide再close

  • 周羊羊 (作者)

    可以了,O(∩_∩)O谢谢

    2016-07-08 15:00

Danny

Danny - QQ125904483

试试看:

//方案1:在目标页面显示的回调中关闭  
homeWebView.show("动画", 动画持续时间, function() {  
    //关闭页面  
    setTimeout(function() {  
        plus.webview.getWebviewById("forget_next.html").close();  
    }, 50);  
});  

//方案2:在目标页面加载完成的回调中关闭  
homeWebView.onloaded = function(e) {  
    //关闭页面  
    setTimeout(function() {  
        plus.webview.getWebviewById("forget_next.html").close();  
    }, 50);  
};

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