今天使用了subNView 做底部tab切换,效果页实现了,但是,发现了一个问题,就是我友做了一个登录页面,在manifest文件中将入口设置为login.html,当我打开app的时候发现登录页面居然页出现了底部的tab,subNView 是在plus->launchwebview里面配置的,事先加载,怎么让它在登录页面不显示呢?
- 发布:2018-03-14 15:40
- 更新:2019-05-16 17:16
- 阅读:1854
Trust - 少说废话
launchwebview 就是在 manifest.json 配置的入口。
你把入口调整成了 login.html,那么相关配置自然会生效。如果是为了判定是否登录,来决定显示哪个页面的话,可以选择手动关闭 splash,在实际的首页判定登录状态,未登录的话再打开登录页。
补充:
再强调一下,在 manifest.json 中配置的页面入口,对应的就是 launchwebview。无论你配置的这个 html 叫什么名字,launchwebview 都会加载这个 html,并且相关的配置都会生效。
想要实现所谓的在登录页隐藏 subNViews,两种方案。
一种就是前面提到的,手动关闭启动页(在 manifest.json -> 启动图片配置),在入口页判定需要登录的话,打开登录页,在登录页关闭 splash。
如果一定要以登录页作为入口,那么可以在登录以后,在目标页用 js 去创建 subNViews,而不是在 manifest.json 中去配置入口页。因为入口页比较特殊,所以一些配置必须在 manifest.json 中去处理。
//配置的 “launchwebview” 启动页面判断是否登录,没有登录就手动关闭,然后打开登录页面
setTimeout(function(){
plus.navigator.closeSplashscreen();
mui.openWindow({
url: './html/login/index.html',
id: 'login-index.html',
show: {
aniShow: 'fade-in'
}
});
},3000)
//登录页面在打开启动页面,这里需要注意启动页面不会重新渲染
mui.plusReady(function(){
setTimeout(function(){
var launchWebview = plus.webview.getLaunchWebview();
mui.openWindow(launchWebview);
},3000)
})
绝地求生 (作者)
我就是设置的login为入口,在不判断登录的情况下,app启动跳转login页面,底部就会有tab,我觉得这是一个bug啊你们有时间可以试一下
2018-03-15 16:59
Trust
回复 绝地求生:你上传一个你认为有问题的示例工程吧,再仔细读一下上面的回复。
2018-03-15 17:03
绝地求生 (作者)
回复 Trust:我已上传,您运行一下
2018-03-15 17:18
Trust
回复 绝地求生:这个是没有问题的,请你仔细阅读下上面的回复,理解下 launchwebview。
2018-03-15 17:34