亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript數據存儲 Cookie篇

2019-11-20 09:34:13
字體:
來源:轉載
供稿:網友

1.什么是cookie?
    答:cookie是用于在客戶端存儲會話信息的。
2.cookie的組成部分?
    ①名稱:一個唯一確定cookie 的名稱。建議區分大小寫。cookie 的名稱必須是經過URL 編碼的。
    ②值:儲存在cookie 中的字符串值。值必須被URL 編碼。
    ③域:cookie 對于哪個域是有效的。所有向該域發送的請求中都會包含這個cookie 信息。這個值可以包含子域(subdomain,如www.wrox.com),也可以不包含它(如.wrox.com,則對于wrox.com的所有子域都有效)。如果沒有明確設定,那么這個域會被認作來自設置cookie 的那個域。
    ④路徑:對于指定域中的那個路徑,應該向服務器發送cookie。例如,你可以指定cookie 只有從http://www.wrox.com/books/ 中才能訪問,那么http://www.wrox.com 的頁面就不會發送cookie 信息,即使請求都是來自同一個域的。
    ⑤失效時間:表示cookie 何時應該被刪除的時間戳。默認情況下,瀏覽器會話結束時即將所有cookie 刪除;不過也可以自己設置刪除時間。這個值是個GMT 格式的日期(Wdy, DD-Mon-YYYY HH:MM:SS GMT),用于指定應該刪除cookie 的準確時間。因此,cookie
    可在瀏覽器關閉后依然保存在用戶的機器上。如果你設置的失效日期是個以前的時間,則cookie 會被立刻刪除。
    ⑥安全標志:指定后,cookie 只有在使用SSL 連接的時候才發送到服務器。例如,cookie 信息只能發送給https://www.wrox.com,而http://www.wrox.com 的請求則不能發送cookie。
3.列舉一個cookie的例子?
    以下是一個完整的cookie的例子,我們將把它分解開來:
    Set-Cookie: name=value; expires=Mon, 22-Jan-07 07:10:24 GMT; domain=.wrox.com; path=/; secure
    ①名稱: name字符串表示
    ②值:value字符串表示
    ③過期時間:Mon, 22-Jan-07 07:10:24 GMT
    ④域名:.wrox.com
    ⑤路徑:當前目錄/
    ⑥安全標志:secure
4.如何操作cookie?
 

  var CookieUtil = {    // 設置cookie    set : function (name, value, expires, domain, path, secure) {      var cookieText = "";      cookieText += encodeURIComponent(name) + "=" + encodeURIComponent(value);      if (expires instanceof Date) {        cookieText += "; expires=" + expires.toGMTString();      }      if (path) {        cookieText += "; path=" + path;      }      if (domain) {        cookieText += "; domain=" + domain;      }      if (secure) {        cookieText += "; secure";      }      document.cookie = cookieText;    },    // name=value; expires=expiration_time; path=domain_path; domain=domain_name; secure    // 獲取cookie    get : function (name) {      var cookieName = encodeURIComponent(name) + "=",        cookieStart = document.cookie.indexOf(cookieName),        cookieValue = "";      if (cookieStart > -1) {        var cookieEnd = document.cookie.indexOf (";", cookieStart);        if (cookieEnd == -1) {          cookieEnd = document.cookie.length;        }        cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));      }      return cookieValue;     },    // 刪除cookie    unset : function (name, domain, path, secure) {      this.set(name, "", Date(0), domain, path, secure);    }  };  // 測試  CookieUtil.set("name", "zhang");  var name = CookieUtil.get("name");  alert(name);  // zhang  CookieUtil.unset("name");  alert(CookieUtil.get("name")); // 空

5.cookie的限制
    ①存儲數據數量有限
    ②保了儲存在cookie 中的信息只能讓批準的接受者訪問,而無法被其他域訪問
    ③安全性有限
6.針對cookie數據存儲少量的問題,我們提出了子cookie的概念。即在每條cookie的值中存儲多條數據,用"&"隔開。

  var SubCookieUtil = {    /** 設置一條完整的cookie    *  param name : 表示cookie的名稱,必填    *  param subCookies : 表示cookie的值,為一個對象,必填    *  param expires : 表示cookie的過期時間,可以不填    *  param domain : 表示cookie的域名,可以不填    *  param path : 表示cookie的路徑,可以不填    *  param secure : 表示cookie的安全標志,可以不填    *  eg : SubCookieUtil.setAll("info", { name : "zhang", age : 23});    **/    setAll : function (name, subCookies, expires, domain, path, secure) {      var cookieText = "", subName, cookieParts = [];      cookieText += encodeURIComponent(name) + "=";      for(subName in subCookies) {        cookieParts.push(encodeURIComponent(subName) + "=" + encodeURIComponent(subCookies[subName]));      }      if (cookieParts.length > 0) {        cookieText += cookieParts.join("&");        if (expires instanceof Date) {          cookieText += "; expires=" + expires.toGMTString();        }        if (path) {          cookieText += "; path=" + path;        }        if (domain) {          cookieText += "; domain=" + domain;        }        if (secure) {          cookieText += "; secure";        }      } else {        cookieText += "; expires=" + Date(0).toGMTString();      }      document.cookie = cookieText;    },    /** 設置一條子cookie    *  param name : 表示cookie的名稱,必填    *  param subName : 表示子cookie的名稱,必填    *  param value : 表示子cookie的值,必填    *  param expires : 表示cookie的過期時間,可以不填    *  param domain : 表示cookie的域名,可以不填    *  param path : 表示cookie的路徑,可以不填    *  param secure : 表示cookie的安全標志,可以不填    *  eg : SubCookieUtil.set("info", "sex", "boy");    **/    set : function (name, subName, value, expires, domain, path, secure) {      var cookies = this.getAll(name) || {};      cookies[subName] = value;      this.setAll(name, cookies, expires, domain, path, secure);    },    /** 讀取一條完整cookie    *  param name : 表示cookie的名稱,必填    *  return : 一個cookie對象    *  eg : SubCookieUtil.getAll("info");    **/    getAll : function (name) {      var cookieName = encodeURIComponent(name) + "=",        cookieStart = document.cookie.indexOf(cookieName),        cookieValue = "", i, len, subCookies, parts, result = {};      if (cookieStart > -1) {        var cookieEnd = document.cookie.indexOf (";", cookieStart);        if (cookieEnd == -1) {          cookieEnd = document.cookie.length;        }        cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));        if (cookieValue.length > 0) {          subCookies = cookieValue.split("&");          for (i = 0, len = subCookies.length; i < len; i++) {            parts = subCookies[i].split("=");            result[decodeURIComponent(parts[0])] = decodeURIComponent(parts[1]);          }          return result;        }      }      return null;    },    /** 獲取一條子cookie的值    *  param name : 表示cookie的名稱,必填    *  param subName : 表示子cookie的名稱    *  return : 一個子cookie的值    *  eg : SubCookieUtil.get("info", "name");    **/    get : function (name, subName) {      var cookies = this.getAll(name);      if (cookies) {        return cookies[subName];      } else {        return null;      }    },     /** 刪除一條完整cookie    *  param name : 表示cookie的名稱,必填    *  param domain : 表示cookie的域名,可以不填    *  param path : 表示cookie的路徑,可以不填    *  param secure : 表示cookie的安全標志,可以不填    *  eg : SubCookieUtil.unsetAll("info");    **/    unsetAll : function (name, domain, path, secure) {      this.setAll(name, "", Date(0).toGMTString(), domain, path, secure);    },    /** 刪除一條子cookie    *  param name : 表示cookie的名稱,必填    *  param subName : 表示子cookie的名稱,必填    *  param domain : 表示cookie的域名,可以不填    *  param path : 表示cookie的路徑,可以不填    *  param secure : 表示cookie的安全標志,可以不填    *  eg : SubCookieUtil.unset("info", "name");    **/    unset : function (name, subName, domain, path, secure) {      var cookies = this.getAll(name);      if (cookies) {        delete cookies[subName];        this.setAll(name, cookies, null, domain, path, secure);      }    }    };  // 測試:  var zhang = {    name : "zhang",    age : 23,    height : "178cm",    weight : "66kg"  }  // 設置一條完整的cookie  SubCookieUtil.setAll("zhang", zhang);  // 獲取一條完整的cookie  var zhang = SubCookieUtil.getAll("zhang");  alert(zhang.weight);  // 66kg  // 再為張添加一個子cookie  SubCookieUtil.set("zhang", "sport", "basketball");  // 獲取子cookie  alert(SubCookieUtil.get("zhang", "sport")); // basketball  // 刪除一條子cookie  SubCookieUtil.unset("zhang", "age");  alert(SubCookieUtil.get("zhang", "age"));  // undefined  // 刪除一條完整的cookie  SubCookieUtil.unsetAll("zhang");  alert(SubCookieUtil.getAll("zhang"));  // 報錯,因為已經被刪除

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人久久一区二区三区| 亚洲一区二区国产| 日韩成人在线免费观看| 麻豆成人在线看| 日韩一区二区在线视频| 欧美国产乱视频| 亚洲人成77777在线观看网| 国产做受69高潮| 91麻豆国产精品| 国产69精品久久久久99| 精品无人区乱码1区2区3区在线| 正在播放欧美一区| 日本高清视频一区| 久久久国产91| 日韩在线视频播放| 一本久久综合亚洲鲁鲁| 亚洲a中文字幕| 国产久一一精品| 国产精品尤物福利片在线观看| 久久免费视频网站| 欧美性视频网站| 久久久噜久噜久久综合| 国产69久久精品成人看| 91在线播放国产| 国产精品18久久久久久首页狼| 成人免费看吃奶视频网站| 欧美精品在线第一页| 亚洲丁香久久久| 福利二区91精品bt7086| 91精品国产91| 78m国产成人精品视频| 96sao精品视频在线观看| 一区二区在线免费视频| 国产精品久久久久久久av电影| 色悠久久久久综合先锋影音下载| 欧美日韩国产精品一区二区不卡中文| 成人啪啪免费看| 国产美女久久精品香蕉69| 亚洲人永久免费| 亚洲夜晚福利在线观看| 精品国内产的精品视频在线观看| 欧美日韩精品在线视频| 97国产精品人人爽人人做| 国产精品久久久999| 久久伊人精品一区二区三区| 亚洲精品丝袜日韩| 国产精品热视频| 这里只有精品视频在线| 国产精自产拍久久久久久蜜| 欧美韩国理论所午夜片917电影| 国产精品女主播| 国产欧美精品一区二区三区-老狼| 亚洲天堂成人在线| 日韩在线精品一区| 中文字幕日韩有码| 77777少妇光屁股久久一区| 日本午夜在线亚洲.国产| 美女啪啪无遮挡免费久久网站| 国产精品久久一区主播| 国产日韩av在线播放| 深夜精品寂寞黄网站在线观看| 国产精品久久久久久久7电影| 亚洲精品美女久久久久| 久久精品免费播放| 国产suv精品一区二区三区88区| 亚洲精品免费一区二区三区| 日韩av在线不卡| 久久躁日日躁aaaaxxxx| 最近中文字幕2019免费| 成人久久久久久| 亚洲精品之草原avav久久| 久久国产精品99国产精| 国产精品久久久久久久一区探花| 欧美夫妻性生活视频| 亚洲精品免费网站| 亚洲成av人片在线观看香蕉| 色哟哟入口国产精品| 久久人人97超碰精品888| 97国产suv精品一区二区62| 成人网在线视频| 国产亚洲欧美日韩一区二区| 欧美精品激情在线| 精品福利免费观看| 亚洲少妇中文在线| 久久精品国产v日韩v亚洲| 国产精品午夜视频| 欧美激情xxxx性bbbb| 久久777国产线看观看精品| 亚洲精品电影网| 精品动漫一区二区三区| 亚洲最大的免费| 亚洲欧美制服第一页| www.欧美精品| 欧美尤物巨大精品爽| 色综合91久久精品中文字幕| 亚洲白虎美女被爆操| 中文字幕精品影院| 久久免费视频观看| 亚洲成人在线网| 国产经典一区二区| 亚洲系列中文字幕| 日韩国产高清污视频在线观看| 久久久噜噜噜久久久| 68精品久久久久久欧美| 色播久久人人爽人人爽人人片视av| 亚洲综合一区二区不卡| 亚洲国产97在线精品一区| 久久久久www| 色偷偷91综合久久噜噜| 亚洲欧美中文日韩在线| 国产精品吹潮在线观看| 国产黑人绿帽在线第一区| 97精品在线观看| 久99九色视频在线观看| 国产亚洲精品一区二区| 国产精品久久久久久久久影视| 色777狠狠综合秋免鲁丝| 人人做人人澡人人爽欧美| 欧美视频13p| 亚洲第一天堂av| 国产精品香蕉av| 久久人91精品久久久久久不卡| 国产成人精品亚洲精品| 欧美日韩国产精品一区二区不卡中文| 国产精品久久久久久av| 91香蕉嫩草神马影院在线观看| 欧美一区二区大胆人体摄影专业网站| 欧美性猛交xxxx偷拍洗澡| 亚洲在线一区二区| 亚洲精品福利免费在线观看| 97精品国产91久久久久久| 91sao在线观看国产| 姬川优奈aav一区二区| 91九色国产视频| 国内精品久久久久影院 日本资源| 久久夜色精品国产欧美乱| 日韩欧美成人精品| 欧美国产第二页| 欧美另类极品videosbestfree| 在线午夜精品自拍| 精品美女久久久久久免费| 国产一区二区动漫| 中文字幕日韩高清| 中文字幕不卡av| 日韩一区二区久久久| 亚洲精品成人久久久| 久久久久久中文| 日韩一区二区av| 亚洲欧美在线免费| 96sao精品视频在线观看| 最近中文字幕2019免费| 欧美日韩成人在线播放| 亚洲成人av中文字幕| 色噜噜狠狠狠综合曰曰曰| 日本一区二区在线播放| 国产精品一区二区三区成人| 欧美激情在线视频二区| 国产精品羞羞答答| 91超碰caoporn97人人| 成人国产在线视频| 成人综合国产精品| 在线免费看av不卡| 亚洲欧美日韩综合| 爽爽爽爽爽爽爽成人免费观看|