避免基于特定URL字符串设置cookie
avoiding setting a cookie based on a specific URL string
我正在根据用户首次访问网站设置cookie。因此,每次新用户访问网站时,我都会将他们重定向到登录页,否则用户将直接看到索引页(因为cookie已经在用户的浏览器中了)。
现在,我试图实现的是,我希望跳过基于特定URL的登录页重定向(针对新用户和现有用户)。
这就是我检查新访问并设置重定向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是数字,每次都会更改)
尝试
$(function() {
if (location.href.indexOf("usePromo")==-1) {
landingPageOnFirstVisit();
createCookie('landingRedirect', 'true', '60');
}
});
相关文章:
- 将字符串的一部分设置为数组的一部分
- 将localStorage字符串设置为Integer
- 从 UTC 字符串设置日期格式
- 如何根据 URL 中符号后的第一个字符串设置变量
- 从本地存储 base64 字符串设置背景图像
- 从类似 csv 的字符串设置文本字段值
- 将 CodeMirror 子字符串设置为粗体而不更改模式
- jQuery:从参数字符串设置表单状态
- 如何使用字符串设置局部变量
- 按数字和字符串设置新的 Date() 会给出不同的结果
- 将字符串设置为类似日期的格式
- 避免基于特定URL字符串设置cookie
- 如何在将javascript字符串设置为从Django变量传播的值时转义引号
- 使用完全限定字符串设置JSON属性
- 需要根据模型数据中的字符串设置复选框
- 使用来自java类的字符串设置输入值
- 使用包含英国格式日期的字符串设置new Date()
- CRM 2011:使用javascript从字符串设置日期时间字段
- 将一个HTML字符串设置为等于javascript中的一个变量
- 如何将逗号分隔字符串设置为参数