判断用户是否登录弹框
应用场景:某个操作需要用户登录才可以访问,使用方法。
1)天猫使用了两种方法。一种cookie判断:
i.用户未登录,没有生成cookie,弹出登录框。
ii.用户登录后生成cookie
iii.删除cookie要求重新登录
vi. 在当前页面之外打开另外一个页面进行登录。再回到当前页面,此时点击立即购买或加入购物车可以自动判断用户已经登录并进入下一页。
2)天猫右边的快捷入口现在可以识别用户是否在其它页面登录。原先这个用户信息在左边,如果用户在其它页面登录,并且在当前页面没有刷新的情况下点击用户头像,会显示让用户登录的表单)。也就是常用的埋点,给个hidden表单,登录过后为1,未登录的给个0.然后点击立即购买判断此隐藏域,可是别的页面登录过,当前页面判断不了。天猫现在用的是ajax获取用户的session。
3) 京东,360,百度这些网站判断用户是否登录都没有用ajax,因为捕获不到请求,但是却能在当前页面知道你在其它页面是否登录。我之前也用cookie,只要判断cookie是否存在就行,不需要加解密,且只作为用户体验,进入到的页面后台程序还需要再进行session判断。所以前端这块验不验证都是一样。这些网站加载进来的是iframe,并且没有aj请求。要是用前端组件的话,也未必是全局的。所以有可能赋了一个全局的变量,通过判断变量的true or false,这样比cookie更方便。比如给一个leo.userlogin.statue=0,登录成功后给赋个1,这样比埋点简单多了,全局的又很方便。只要全局变量不滥用,这种方法还是非常好的。