项目情况如下:
1、我的是wap2app项目 有4个tab页面【tab1,tab2,tab3,tab4】组成一个首页 和 一个 login.html 页面。
2、项目必须登录才能用。
3、目前将底部4个tab 弄成了原生的菜单。
4、我把 tab1.html 定为首页(打开APP,就跳转到 tab1.html页面。)
所以我在 tab1.html 中判断是否登录,如果未登录就跳转到登录页面。
$(function(){
if(localStorage.userinfo == undefined){
window.location.href="../login.html"
}
})
如上代码:登录页面底部也会显示原生菜单。并且打印出来的 webviewid 为 HBuilder.始终没有跳出来。
但是如果等待 plus加载完毕再跳转 window.location.href="../login.html",webviewid 就是login
如下:
if(window.plus){
plusReady();
}else{
document.addEventListener('plusready',plusReady,false)
}
function plusReady(argument) {
alert('加载完毕');
if(localStorage.userinfo == undefined){
window.location.href="../login.html";
}
}
直到弹出‘加载完毕’,至少要等待 5秒以上。 这样体验点都不好。
问题就是: 我这种情况。要如何处理。
备注:我对login.html 在 sitemap.json 中写了规则的 webviewid 为 login。
4 个回复
1***@qq.com
折中一下,时间设置个1秒左右跳转,登录页也不会出现底部导航栏了
6***@qq.com
同。。。好扯淡
banro
将 login.html设为首页,进入这个页面后弹出 toast 提示正在自动登录,当检测到已登录后,再转向到tab1首页
6***@qq.com
我将login.html设为首页 为啥在login.html打印的webviewId是HBuilder啊 所有页面的webviewId是HBuilder
2021-05-22 10:59
banro
参考这个文档,底部有实现案例,需要在 app.js中编码
https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/12806
假设在sitemap.json中有如下配置:
则可以在app.js中通过如下代码实现:
Page('usercenter', { //用户中心页面扩展
/**
*/
onShow: function() {
//获取登录页的webview
var loginWebview = plus.webview.getWebviewById("login");
if(loginWebview){
loginWebview.close("none");//关闭登录页
}
}
});
6***@qq.com
还有个问题啊 老哥。。安全区域不同页面怎么设置背景不同啊
2021-05-22 18:46