1***@qq.com
1***@qq.com
  • 发布:2018-05-04 16:36
  • 更新:2021-05-22 11:19
  • 阅读:3073

首页跳转到登录页,停留到 webviewId 为 HBuilder 中

分类:wap2app

项目情况如下:
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。

2018-05-04 16:36 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

折中一下,时间设置个1秒左右跳转,登录页也不会出现底部导航栏了

6***@qq.com

6***@qq.com

同。。。好扯淡

banro

banro

将 login.html设为首页,进入这个页面后弹出 toast 提示正在自动登录,当检测到已登录后,再转向到tab1首页

  • 6***@qq.com

    我将login.html设为首页 为啥在login.html打印的webviewId是HBuilder啊 所有页面的webviewId是HBuilder

    2021-05-22 10:59

banro

banro

参考这个文档,底部有实现案例,需要在 app.js中编码
https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/12806

假设在sitemap.json中有如下配置:

{    
    "webviewId": "login",//登录    
    "matchUrls": [    
        {"pathname": "/login"}    
    ]    
},    
{    
    "webviewId": "usercenter",//用户中心    
    "matchUrls": [    
        {"pathname": "/usercenter"}    
    ]    
}

则可以在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

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