国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript 操作cookies及正確使用cookies的屬性

2024-05-06 14:13:33
字體:
供稿:網(wǎng)友
一、從寫 cookie 說起。
var the_date = new Date("December 31, 2020");
var expiresDate = the_date.toGMTString();
document.cookie = "userDefineCSS=" + escape(title) + "; expires=" + expiresDate;
  第一句是日期對象;
  第二句將日期格式轉(zhuǎn)換成 GMT 格式;編者者: GMT 即格林威治標(biāo)準(zhǔn)時(shí)間,現(xiàn)在也稱 UTC 即全球標(biāo)準(zhǔn)時(shí)間。
  第三句是將 cookie 內(nèi)容寫入客戶端。
  其中 expires 是系統(tǒng)使用的,表示 cookie 的失效日期(也可以省略),expires 不可讀。
  escape 是對 cookie 值進(jìn)行編碼,這是為了處理中文、空格等而設(shè)立的。
  二、取 cookie 是比較簡單的。
function GetCSS()
{
var cookieStr = document.cookie; //取 cookie 字符串,由于 expires 不可讀,所以 expires 將不會出現(xiàn)在 cookieStr 中。
if (cookieStr == "")
{
return "main1"; //沒有取到 cookie 字符串,返回默認(rèn)值
}
var cookieValue = cookieStr.split("; "); //將各個(gè) cookie 分隔開,并存為數(shù)組,多個(gè) cookie 之間用分號加空隔隔開,不過前面我們只使用了一個(gè) cookie,它的值與 expires 之間也是用分號加空格隔開的
代碼如下:
var varName = "userDefineCSS";
var startPos = -1;
var endPos = -1;
for (var i=0; i<cookieValue.length; i++)
{
startPos = cookieValue[i].indexOf(varName);
if (startPos != 0)
{
continue; //當(dāng)前 cookie 不是名稱為 varName 的 cookie,判斷下一個(gè) cookie
}
startPos += varName.length + 1; //當(dāng)前 cookie 就是名稱為 varName 的 cookie,由于有等號,所以 +1
endPos = cookieValue[i].length;
var css = unescape(cookieValue[i].substring(startPos, endPos));
return css;
}
return "main1";
}

 由于寫 cookie 時(shí)使用了 escape,所以返回 cookie 值時(shí)使用 unescape 進(jìn)行解碼。
  正確使用cookies的屬性
  首先看看cookies的結(jié)構(gòu)
  我們這里所說的 cookie 結(jié)構(gòu)并非其存儲結(jié)構(gòu),而是其表現(xiàn)結(jié)構(gòu),主要通過研究其表現(xiàn)結(jié)構(gòu)來實(shí)現(xiàn) JS(JavaScript) 對 cookie 的操作。
  cookie 的表現(xiàn)結(jié)構(gòu)較為簡單,每個(gè) cookie 由 cookie 名稱 和 cookie 值組成,用等號表示二者關(guān)系,各個(gè) cookie 之間用分號加空格隔開。正如前面所說 expires、path、domain 均不可讀,所以在表現(xiàn)結(jié)構(gòu)中也沒有體現(xiàn)出來。
cookieName1=cookieValue1; cookieName2=cookieValue2[...; cookieNamen=cookieValuen]
  通過分隔分號加空格符號,就可以獲得各個(gè) cookie,再通過分隔等號,就可以得出各個(gè) cookie 的名稱和值。
  cookie 的子鍵,只是表現(xiàn)在 cookieValue 上,一個(gè)子鍵的結(jié)構(gòu)是:子鍵名稱=子鍵值,多個(gè)子鍵之間用 & 連接起來。比如:
  cookieName1=子鍵名稱1=子鍵值1&子鍵名稱2=子鍵值2
  如果是 ASP 文件,我們會發(fā)現(xiàn) cookie 結(jié)構(gòu)中有這樣一段字符串:ASPSESSIONIDQSTDRATQ=24位字符
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 略阳县| 陆良县| 龙南县| 沙坪坝区| 突泉县| 宿州市| 兰西县| 塔城市| 普兰县| 阿克苏市| 宣汉县| 靖西县| 呼图壁县| 宁海县| 东丰县| 上饶县| 岳阳县| 盐源县| 陇南市| 筠连县| 舟曲县| 闽清县| 高碑店市| 西贡区| 云阳县| 牙克石市| 五大连池市| 娄底市| 芒康县| 嘉鱼县| 黑山县| 武定县| 筠连县| 泗洪县| 如东县| 皮山县| 深圳市| 昌江| 邢台县| 巢湖市| 都昌县|