JS設定、獲取和取消Cookie
阿新 • • 發佈:2018-12-29
// 設定cookie
function setCookie(name, value, seconds, domain) {
seconds = seconds || 0; // seconds有值就直接賦值,沒有為0,這個根php不一樣。
var expires = "";
if (seconds != 0) { // 設定cookie生存時間
var date = new Date();
date.setTime(date.getTime() + (seconds * 1000));
expires = "; expires=" + date.toGMTString();
}
if (domain != null && domain != undefined && domain != '') {
domain = ';domain=' + domain;
} else {
domain = '';
}
document.cookie = name + "=" + escape(value) + expires + "; path=/"
+ domain; // 轉碼並賦值
}
// 取得cookie
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';'); // 把cookie分割成組
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) { // 如果含有我們要的name
return unescape(c.substring(nameEQ.length, c.length)); // 解碼並擷取我們要值
}
}
return false;
}
// 清除cookie
function clearCookie(name) {
setCookie(name, "", -1);
}
----------------------------------------------------------------------------------------
三 呼叫方法結果:
setCookie("test","tank",1800); //設定cookie的值,生存時間半個小時
alert(getCookie('test')); //取得cookie的值,顯示tank
clearCookie("test"); //刪除cookie的值
alert(getCookie('test')); //test對應的cookie值為空,顯示為false.就是getCookie最後返的false值。