要在服務器環境下,經過document.cookie
來獲取當前網站下的cookie的時候,獲得的字符串形式的值,他包含了當前網站下全部的cookie。他會把全部的cookie經過一個分號+空格的形式串聯起來。json
consol.log( document.cookie );
複製代碼
document.cookie = '數據名=值'; //不設置時間 ,當前會話結束
複製代碼
document.cookie = ‘數據名=值; expires=過時時間’;
document.cookie = 'name=abc;expires='+date.toGMTString();//date=>new Date();時間對象
var date = new Date(new Date().getTime() + 30 * 60 * 1000);//30分鐘後過時的cookie
document.cookie = 'name=abc;expires='+date.toGMTString();
複製代碼
var cookieArr = [
{
name : 'test1',
value : '30分鐘',
time : 30
},
{
name : 'test2',
value : '50分鐘',
time : 50
},
{
name : 'test3',
value : '30天',
time : 30 * 24 * 60
},
{
name : 'test4',
value : '30秒',
time : 0.5
}
];
setCookie(cookieArr);//數組的形式
setCookie({
name : 'obj',
value : 'dasjd=/\\||;',
time : 10
});//json的形式
/* * 設置一個cookie // * */
function setCookie(data) {
if(is_array(data)){
for(var i = 0,iL = data.length;i < iL;i++){
setCookie(data[i]);
}
}else{
var _date = new Date(new Date().getTime() + data.time * 60 * 1000).toGMTString();
document.cookie = data.name+'='+encodeURIComponent(data.value)+';expires='+_date;
}
//var _date = new Date(new Date().getTime() + data.time * 60 * 1000).toGMTString();
//document.cookie = data.name+'='+data.value+';expires='+_date;
}
/* * 刪除一個cookie * */
function delCookie(_name) {
setCookie({
name : _name,
value : '',
time : -1//設置一個過時時間
});
}
/* * 獲取一個cookie * */
function getCookie(_name) {
var data = document.cookie.match(new RegExp('\\b'+_name+'=([^;]+)(;|$)'));
return data ? decodeURIComponent(data[1]) : '';
}
//判斷是否爲一個數組
function is_array(arr) {
return arr != null && typeof arr == 'object' && typeof arr.length == 'number'
}
複製代碼