我根据用户首次访问网站设置了一个cookie。因此,每当新用户访问该网站时,我将其重定向到登录页面,否则用户将直接看到索引页面(因为该cookie已经在用户的浏览器中的时间)。
现在我想要实现的是,我希望根据特定网址(针对新用户和现有用户)跳过目标网页重定向。
我正在检查新访问并设置重定向Cookie。
$(document).ready(function() {
landingPageOnFirstVisit();
createCookie('landingRedirect', 'true', '60');
});
function landingPageOnFirstVisit() {
var setCookieForLanding = readCookie('landingRedirect');
if (!setCookieForLanding) {
window.location = "/en/landing";
}
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
如果用户使用下面提到的URL模式直接访问网站,我该如何确保:重定向过程不会发生,我们也不会设置任何cookie。
https://www.domain.com/en/page?usePromo=XXXXXX
(其中XXXXXX是数字并且每次都在变化)
答案 0 :(得分:1)
尝试
$(function() {
if (location.href.indexOf("usePromo")==-1) {
landingPageOnFirstVisit();
createCookie('landingRedirect', 'true', '60');
}
});