如何在用户访问其他页面时保持 cookie 值?
How to keep a cookie value when user visit other pages?
我想维护一个 cookie,该 cookie 设置为在用户访问其他页面时不消失。我的代码中的情况是,它获取了一个页面位置的参数,并将其保存到/
路径中。
这是我的代码:
window.onload = function() {
try {
var url_string = (window.location.href).toLowerCase();
var url = new URL(url_string);
// Get gclid,token or fbclid parameters
var gclid = url.searchParams.get("gclid");
var token = url.searchParams.get("token");
var fbclid = url.searchParams.get("fbclid");
// token expires in 6 hours
document.cookie = `gclid=${gclid}; max-age=21600` + ";path=/";
document.cookie = `token=${token}; max-age=21600` + ";path=/";
document.cookie = `fbclid=${fbclid}; max-age=21600` + ";path=/";
} catch (err) {
console.log("Issues with Parsing URL Parameter's - " + err);
}
}
示例:
www.test.com/contact?gclid=123 // saves the cookie value
当转到其他页面时 www.test.com/about
它也会将值设置为空,因为 cookie 来自 url 参数。
gclid=123
存储在路径 /
中的 cookie 中。但是当我转到 wwww.test.com/about
等其他页面时
gclid
cookie 将 equal/set 到 null
。
我的代码中的情况是,每次用户访问页面时,url.searchParams
都会搜索所需的参数,如果它确实找到了这些参数,cookie 将位于 null
。
如果新 gclid
在我的页面中包含 null
值,我如何保留 cookie gclid
的先前值?如果 gclid
不包含 null
值,则更新 gclid
。
只检查参数是否存在
window.onload = function () {
try {
var url_string = window.location.href.toLowerCase();
var url = new URL(url_string);
['gclid', 'token', 'fbclid'].forEach(function (key) {
var value = url.searchParams.get(key);
if (value) {
document.cookie = `${key}=${value}; max-age=21600` + ';path=/';
}
});
} catch (err) {
console.log("Issues with Parsing URL Parameter's - " + err);
}
};
我想维护一个 cookie,该 cookie 设置为在用户访问其他页面时不消失。我的代码中的情况是,它获取了一个页面位置的参数,并将其保存到/
路径中。
这是我的代码:
window.onload = function() {
try {
var url_string = (window.location.href).toLowerCase();
var url = new URL(url_string);
// Get gclid,token or fbclid parameters
var gclid = url.searchParams.get("gclid");
var token = url.searchParams.get("token");
var fbclid = url.searchParams.get("fbclid");
// token expires in 6 hours
document.cookie = `gclid=${gclid}; max-age=21600` + ";path=/";
document.cookie = `token=${token}; max-age=21600` + ";path=/";
document.cookie = `fbclid=${fbclid}; max-age=21600` + ";path=/";
} catch (err) {
console.log("Issues with Parsing URL Parameter's - " + err);
}
}
示例:
www.test.com/contact?gclid=123 // saves the cookie value
当转到其他页面时 www.test.com/about
它也会将值设置为空,因为 cookie 来自 url 参数。
gclid=123
存储在路径 /
中的 cookie 中。但是当我转到 wwww.test.com/about
gclid
cookie 将 equal/set 到 null
。
我的代码中的情况是,每次用户访问页面时,url.searchParams
都会搜索所需的参数,如果它确实找到了这些参数,cookie 将位于 null
。
如果新 gclid
在我的页面中包含 null
值,我如何保留 cookie gclid
的先前值?如果 gclid
不包含 null
值,则更新 gclid
。
只检查参数是否存在
window.onload = function () {
try {
var url_string = window.location.href.toLowerCase();
var url = new URL(url_string);
['gclid', 'token', 'fbclid'].forEach(function (key) {
var value = url.searchParams.get(key);
if (value) {
document.cookie = `${key}=${value}; max-age=21600` + ';path=/';
}
});
} catch (err) {
console.log("Issues with Parsing URL Parameter's - " + err);
}
};