项目中经常会遇到的一个问题,就是产品需求,在登录完成后跳转回用户之前所在的页面,这里我用的方法是referrer;
下面列出几种用户进入登录页面的情况:
1、用户收藏了登录页面,直接打开进入登录页面;
这种情况用户登录后直接进入网站首页;
2、用户做了需要登录的操作,所以网站跳转到登录页面;
这种情况用户登陆后,跳转到用户之前所在页面;
3、产品需求某个特殊的页面,在登陆后不跳转回这个页面,而是跳转到指定的页面;
这种情况用户登陆后,不跳转回用户之前所在页面,而是跳转到指定的目标页面;
if (document.referrer === null || document.referrer === "") { //情况一
location.href = "首页url";
}
else{//返回来时url
if (document.referrer == "指定的特殊url") {//情况二
location.href = "目标url";
}
else{
location.href = document.referrer;//情况三
}
}
http://www.runoob.com/jsref/prop-doc-referrer.html,上面的是说“如果当前文档不是通过超级链接访问的,则为 null。”
实验chrome,ie上如果页面是收藏,或直接输链接访问的,document.referrer全等于空,而并非null,是不是我对官方解释理解有误?if (document.referrer === null ) {
console.log("null");
}
if (document.referrer === "" ){
console.log("kong");
}