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

用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

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