js 的cookie问题

获取时解码可以用decodeURIComponent(),代替 unescape()

// 设置cookie
function setCookie(name,value)
{
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

// 获取cookie
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

if(arr=document.cookie.match(reg))

return unescape(arr[2]);
else
return null;
}
// 删除cookie
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

cookie跨域问题

//写入cookie到主域,设置过期时间为一年
    function SetCookie(name, value) {
        console.log(name, value)
        var str = name + "=" + escape(value) + ";domain=.cnblogs.com;path=/";
        var date = new Date();
        date.setTime(date.getTime() + 365 * 24 * 60 * 60 * 1000); //设置date为当前时间加一年

        str += ";expires=" + date.toGMTString();
        console.log(str)
        document.cookie = str;
    }
原文地址:https://www.cnblogs.com/peipeiyu/p/11010485.html