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

首頁 > 語言 > JavaScript > 正文

基于js中document.cookie全面解析

2024-05-06 15:26:46
字體:
來源:轉載
供稿:網友

什么是cookie?

cookie 是存儲于訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某個頁面時,就會發送這個 cookie。你可以使用 JavaScript 來創建和取回 cookie 的值。

設置cookie

每個cookie都是一個名/值對,可以把下面這樣一個字符串賦值給document.cookie:

document.cookie="userId=828";

document.cookie看上去就像一個屬性,可以賦不同的值。但它和一般的屬性不一樣,改變它的賦值并不意味著丟失原來的值,例如連續執行下面兩條語句:

document.cookie="userId=828";document.cookie="userName=hulk"; 

這時瀏覽器將維護兩個cookie,分別是userId和userName,因此給document.cookie賦值更像執行類似這樣的語句:

document.addCookie("userId=828");document.addCookie("userName=hulk");

事實上,瀏覽器就是按照這樣的方式來設置cookie的,如果要改變一個cookie的值,只需重新賦值,例如:

document.cookie="userId=929";

這樣就將名為userId的cookie值設置為了929。

獲取cookie的值

下面介紹如何獲取cookie的值。cookie的值可以由document.cookie直接獲得:

var strCookie=document.cookie; 

這將獲得以分號隔開的多個名/值對所組成的字符串,這些名/值對包括了該域名下的所有cookie。例如:

document.cookie="userId=828";document.cookie="userName=hulk";var strCookie=document.cookie;console.log(strCookie); //userId=828; userName=hulk

當然這個要在環境下運行,因為是獲取當前域名下的cookie。

由此可見,只能夠一次獲取所有的cookie值,而不能指定cookie名稱來獲得指定的值,這正是處理cookie值最麻煩的一部分。

用戶必須自己分析這個字符串,來獲取指定的cookie值,例如,要獲取userId的值,可以這樣實現:

document.cookie="userId=828";document.cookie="userName=hulk";var strCookie=document.cookie;console.log(strCookie); //userId=828; userName=hulkfunction getdescookie(strcookie,matchcookie){  var getMatchCookie;  var arrCookie=strcookie.split(";");  for(var i=0;i<arrCookie.length;i++){     var arr=arrCookie[i].split("=");     if(matchcookie == arr[0]){        getMatchCookie = arr[1];        break;     }  }  return getMatchCookie;}var resultCookie = getdescookie(strCookie,'userId');console.log(resultCookie); //828

這樣就得到了單個cookie的值。

如果在某個頁面創建了一個cookie,那么該頁面所在目錄中的其他頁面也可以訪問

該cookie。如果這個目錄下還有子目錄,則在子目錄中也可以訪問。

例如在www.xxxx.com/html/a.html中所創建的cookie,可以被www.xxxx.com/html/b.html或www.xxx.com/ html/ some/c.html所訪問,但不能被www.xxxx.com/d.html訪問。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 潼南县| 阿拉善左旗| 太仓市| 韩城市| 正镶白旗| 深泽县| 公安县| 西安市| 佛山市| 麦盖提县| 林口县| 滕州市| 浪卡子县| 凤凰县| 武城县| 仪陇县| 额敏县| 治多县| 阳原县| 竹山县| 忻州市| 苏尼特右旗| 泗水县| 临泉县| 奉化市| 保定市| 北海市| 靖安县| 阿鲁科尔沁旗| 盐城市| 广汉市| 隆化县| 宜兰县| 慈溪市| 宾川县| 海南省| 石首市| 元氏县| 上虞市| 商丘市| 桐庐县|