jie
jie
  • 发布:2015-03-03 14:06
  • 更新:2018-01-09 21:28
  • 阅读:4386

用webveiw写的底部导航,在退出登录后重新登录回来,底部的Tab键可选择,高亮,但是中间的页面不切换了。

分类:MUI

退出登录界面源码:

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="utf-8">  
        <title></title>  
        <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">  
        <meta name="apple-mobile-web-app-capable" content="yes">  
        <meta name="apple-mobile-web-app-status-bar-style" content="black">  
        <link rel="stylesheet" href="../css/mui.min.css">  
    </head>  
    <body>  
        <div class="mui-content">  
            <ul class="mui-table-view" style="margin-top: 25px;">  
                <li class="mui-table-view-cell">  
                    <a style="text-align: center;color: #FF3B30;" href="login.html">  
                        退出登录  
                    </a>  
                </li>  
            </ul>  
        </div>  
    </body>  
    <script src="../js/mui.min.js"></script>  
    <script src="../js/app.js"></script>  
    <script>  
        mui('.mui-table-view').on('tap', 'a', function(e) {  
            var url = this.getAttribute('href');  
            mui.currentWebview.close;  
            mui.openWindow({  
                url: url,  
                id: url,  
                waiting: {  
                    autoShow: false,  
                }  
            });           
        });       
    </script>  
</html>
2015-03-03 14:06 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

你代码的问题是重复打开webview:从login.html打开index.html时,login.html并没有关闭(而是被index.html遮住了),在退出登录时关闭index页面,将login.html显示出来即可;
因此修改你的登录退出代码如下即可:

mui('.mui-content').on('tap', 'a', function(e) {  
    plus.webview.getWebviewById("index").close();     
});

另外,你的index.html和footer.html功能重复,完全合并成一个html;

  • jie (作者)

    谢谢了,解决好了

    2015-03-05 15:03

  • fx4399

    我 加了这句plus.webview.getWebviewById("index").close(); 有问题啊

    2018-01-10 09:46

DCloud_UNI_CHB

DCloud_UNI_CHB

这里的窗口切换逻辑比较复杂,最好上传完整的demo,否则搞不清楚你的窗口逻辑:比如mui.currentWebview是哪个页面?是选项卡中的某个子页面吗?还是父页面?

  • jie (作者)

    您好,我上传了整个demo,请帮我看看,谢谢了

    2015-03-05 10:23

jie

jie (作者)

您好,这是整个demo,请帮我看看,谢谢了。
退出登录功能现在暂时写在 首页 那个子页面中的。

lancer

lancer

同问

拂晓

拂晓

我也遇到了一样的问题,退出登陆后打开主界面,底部tab切换时中间的子页面不切换

  • DCloud_UNI_CHB

    参考如上分析,是不是也是重复打开了webview?还无法解决的话,就上传示例demo源码。

    2015-07-10 12:38

  • 拂晓

    回复 DCloud_UNI_CHB:已解决,方案是直接close掉主界面。我记得你在另外一个贴子里提倡不要关闭,用reload(true)的方案,我这边试了下不行,只能close然后重新open。

    2015-07-10 14:19

fx4399

fx4399 - Android工程师、前端工程师

有人解决的吗 今天出现了这个问题 @DCloud_heavensoft @DCloud_MUI_FXY @DCloud_MUI_CHB

  • 7***@qq.com

    你后台打开了一个新的index,之前的index窗口并没有关闭,还是留在了后台,才造成这种情况

    2018-01-11 16:36

  • fx4399

    回复 7***@qq.com:

    你好

    mui('.mui-table-view').on('tap', 'a', function(e) {

    var url = this.getAttribute('href');

    plus.webview.getWebviewById("tab-webview-main.html").close();

    mui.openWindow({

    url: 'login.html',

    id: "login",

    waiting: {

    autoShow: false,

    }

    });

    });

    tab-webview-main.html 是一个父界面 父页面里面有四个子界面 我想再次登录时,进入父界面中的第一个子界面

    2018-01-11 21:06

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