天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

一、從寫 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)時間,現(xiàn)在也稱 UTC 即全球標(biāo)準(zhǔn)時間。
  第三句是將 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("; "); //將各個 cookie 分隔開,并存為數(shù)組,多個 cookie 之間用分號加空隔隔開,不過前面我們只使用了一個 cookie,它的值與 expires 之間也是用分號加空格隔開的
復(fù)制代碼 代碼如下:
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,判斷下一個 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 時使用了 escape,所以返回 cookie 值時使用 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)來實現(xiàn) JS(JavaScript) 對 cookie 的操作。
  cookie 的表現(xiàn)結(jié)構(gòu)較為簡單,每個 cookie 由 cookie 名稱 和 cookie 值組成,用等號表示二者關(guān)系,各個 cookie 之間用分號加空格隔開。正如前面所說 expires、path、domain 均不可讀,所以在表現(xiàn)結(jié)構(gòu)中也沒有體現(xiàn)出來。
cookieName1=cookieValue1; cookieName2=cookieValue2[...; cookieNamen=cookieValuen]
  通過分隔分號加空格符號,就可以獲得各個 cookie,再通過分隔等號,就可以得出各個 cookie 的名稱和值。
  cookie 的子鍵,只是表現(xiàn)在 cookieValue 上,一個子鍵的結(jié)構(gòu)是:子鍵名稱=子鍵值,多個子鍵之間用 & 連接起來。比如:
  cookieName1=子鍵名稱1=子鍵值1&子鍵名稱2=子鍵值2
  如果是 ASP 文件,我們會發(fā)現(xiàn) cookie 結(jié)構(gòu)中有這樣一段字符串:ASPSESSIONIDQSTDRATQ=24位字符
  關(guān)于此,查看:http://www.ASPxuexi.com/ASPbasic/cookie/2006-6-10/Session_Cookie.htm
  同名的 cookie,不同的 domain 或不同的 path,屬不同的 cookie;
  同名的 cookie,相同的 domain 且相同的 path,不同的 expires,屬同一個 cookie。
  cookie 有路徑--path,表示哪些路徑下的文件有權(quán)限讀取該 cookie。
  path 應(yīng)該以 "/" 結(jié)尾,同名 cookie,不同 path,屬不同的 cookie
document.cookie = "N1=1; path=/path/";
document.cookie = "N1=2; path=/path";
document.cookie = "N1=3; path=path/";

如上代碼,前兩句使用的是絕對路徑,即相對于站點根目錄的網(wǎng)頁目錄,第三句使用的是相對路徑,相對于當(dāng)前目錄的。
  第一句和第二句在于結(jié)尾不同,雖然他們所表達(dá)的權(quán)限相同,但是由于 path 字符串不同,會形成兩個同名的 cookie,容易造成混亂,我們建議不要使用第二句這種格式,因為系統(tǒng)默認(rèn)也是以 "/" 結(jié)尾的。
  所以如上述是三個 cookie,之間不會相互覆蓋。
  path 屬性值有大小寫之分,應(yīng)與瀏覽器中的地址欄的輸入一致
document.cookie = "N1=1; path=/path/";
document.cookie = "N1=2; path=/paTH/";
  這是兩個不同的 cookie,因為 path 屬性值大小寫不同,如果我們在地址欄輸入的是 path,那么就讀取第一個 N1,如果我們輸入的是 paTH,那么就讀取第二個 N1
  path 不可讀
  同 expires 一樣,path 只可寫,不可讀。
  path 不可更改
  同 expires 不一樣,如果我們試圖更改 path,那么實際上我們是另外寫了一個 cookie,而不是更改了 path 值。
  path 權(quán)限有繼承性
  假如指定了 /test/ 目錄有權(quán)限讀取某 cookie,那么 /test/ 之下的目錄 /test/t/ 也有權(quán)限讀取該 cookie。
  cookie 有失效日期--expires,如果還沒有過失效期,即使重新啟動電腦,cookie 仍然不會丟失,如果沒有指定 expires 值,那么在關(guān)閉瀏覽器時,cookie 即失效。
  在 JS(JavaScript) 中使用 expires 時應(yīng)該和 cookie 同時寫入,如:
document.cookie = "clr=red; expires=" + expiresDate;
  而如下寫法是不正確的:
document.cookie = "clr=red";
document.cookie = "expires=" + expiresDate;
  這樣寫會形成兩個 cookie,第二個 cookie 的名稱是 expires,兩個 cookie 均沒有指定失效日期。
  expires 不可讀
  這就是為什么,我們在 ASP 中使用 response.Write request.cookies("cname").expires 會出錯,同樣在 JS(JavaScript) 中使用 document.cookie 也不會顯示出 expires。
  expires 值應(yīng)該使用 GMT 格式的時間
var the_date = new Date("December 31, 2020");
var expiresDate = the_date.toGMTString(); //轉(zhuǎn)換成 GMT 格式。

JavaScript技術(shù)javascript 操作cookies及正確使用cookies的屬性,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 蜜臀AV999无码精品国产 | 久久精品亚洲AV高清网站性色 | 漂亮妈妈中文字幕版 | 国产婷婷色一区二区三区在线 | 世界上第一个得抑郁症的人是谁 | a级精品九九九大片免费看 A级韩国乱理伦片在线观看 | 强奷乱码欧妇女中文字幕熟女 | 午夜在线观看免费观看 视频 | 麻豆AV无码精品一区二区 | 久久这里只精品国产99re66 | 丰满五十老女人性视频 | 成人国产在线24小时播放视频 | 国产精品一区第二页 | 特黄特黄aaaa级毛片免费看 | 一一本之道高清视频在线观看中文字幕 | 亚洲精品视频免费在线观看 | 538在线视频一区二区视视频 | 高H黄暴NP辣H一女多男 | 日韩一区二区三区视频在线观看 | 国产成人精品午夜福麻豆报告 | 国产午夜一区二区三区免费视频 | 色橹橹欧美在线观看视频高清 | 无码国产成人777爽死 | 99精品影视 | 欧美A级肉欲大片XXX | 秋霞伦理高清视频在线 | 污污又黄又爽免费的网站 | 国产亚洲制服免视频 | 亚洲色欲色欲无码AV | 姉调无修版ova国语版 | 国产午夜免费不卡精品理论片 | 白银谷在线观看 | 狠狠撩色姣姣综合久久 | DASD-700美谷朱里 | 国产亚洲美女精品久久久2020 | 99精品影院 | 脔到她哭H粗话HWWW男男动漫 | 亚洲精品久久久午夜麻豆 | 免费99精品国产自在现线 | 中文字幕人成人乱码亚洲影视S | 亚洲AV國產国产久青草 |