如何在JavaScript中获取和设置cookie
通过JavaScript获取和设置Cookies感觉有点奇怪,如下所示: Set:如何在JavaScript中获取和设置cookie,javascript,cookies,Javascript,Cookies,通过JavaScript获取和设置Cookies感觉有点奇怪,如下所示: Set:document.cookie=“=[;过期=[;路径=]” 获取:解析document.cookie 我找到了这个get和set函数 有没有更优雅、更简单的方法呢?您可以使用一些简单的函数,如setCookie()和getCookie() 您可以使用以下调用设置cookie: setCookie('myName','value', 3); 函数setCookie(名称、值、天数){ var=”; 如果(天){
document.cookie=“=[;过期=[;路径=]”代码>
获取:解析document.cookie
我找到了这个get和set函数
有没有更优雅、更简单的方法呢?您可以使用一些简单的函数,如setCookie()
和getCookie()
您可以使用以下调用设置cookie:
setCookie('myName','value', 3);
函数setCookie(名称、值、天数){
var=”;
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
expires=“;expires=“+date.toutString();
}
document.cookie=name+“=”+(值| |“”)+expires+“path=/”;
}
函数getCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
ES6方法是:
const setCookie = (cookieKey, cookieValue, expirationDays) => {
let expiryDate = '';
if (expirationDays) {
const date = new Date();
date.setTime(`${date.getTime()}${(expirationDays || 30 * 24 * 60 * 60 * 1000)}`);
expiryDate = `; expiryDate=" ${date.toUTCString()}`;
}
document.cookie = `${cookieKey}=${cookieValue || ''}${expiryDate}; path=/`;
}
const getCookie = (cookieKey) => {
let cookieName = `${cookieKey}=`;
let cookieArray = document.cookie.split(';');
for (let cookie of cookieArray) {
while (cookie.charAt(0) == ' ') {
cookie = cookie.substring(1, cookie.length);
}
if (cookie.indexOf(cookieName) == 0) {
return cookie.substring(cookieName.length, cookie.length);
}
}
}
所以没有比这更优雅的方法了?getter和setter本质上与我在W3C上发现的相同。org@Pilan:此外,Mozilla还提供了一个-一旦包含在页面中,您可以使用:docCookies.setItem(名称、值)设置cookie
这可能是实现这一点的最优雅的方法。您可以使用document.cookie.split(“;”).map(c=>c.trimlefit())代替while
循环