麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

javascript封裝 Cookie 應用接口

2019-11-20 11:53:32
字體:
來源:轉載
供稿:網友

本文章記錄本人在學習 Cookie 中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。

封裝函數

在默認的情況下存取Cookie是一件比較麻煩的事情。由于Cookie是通過字符串來存儲信息的,所以容易導致在執行賦值運算的時需要轉換讀取信息的數據類型。而且Cookie信息的字符串本身就令人討厭,在經常使用Cookie信息的 Web 應用中格外的不方便。所以需要自行的封裝一個Cookie函數來提供開發效率!

定義一個函數Cookie(),這個函數能夠寫入指定的Cookie信息,刪除指定的Cookie信息,也能夠讀取指定名稱的Cookie值,另外,在該函數中還可以制定Cookie信息的有效期、有效路徑、作用域和安全性選項設置。完整的代碼:

var Cookie = function(name, value, options) {    // 如果第二個參數存在    if (typeof value != 'undefined') {      options = options || {};      if (value === null) {        // 設置失效時間        options.expires = -1;      }      var expires = '';      // 如果存在事件參數項,并且類型為 number,或者具體的時間,那么分別設置事件      if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {        var date;        if (typeof options.expires == 'number') {          date = new Date();          date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));        } else {          date = options.expires;        }        expires = '; expires=' + date.toUTCString();      }      var path = options.path ? '; path=' + options.path : '', // 設置路徑        domain = options.domain ? '; domain=' + options.domain : '', // 設置域         secure = options.secure ? '; secure' : ''; // 設置安全措施,為 true 則直接設置,否則為空      // 把所有字符串信息都存入數組,然后調用 join() 方法轉換為字符串,并寫入 Cookie 信息      document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');     } else { // 如果第二個參數不存在      var CookieValue = null;      if (document.cookie && document.cookie != '') {        var Cookie = document.cookie.split(';');        for (var i = 0; i < Cookies.length; i++) {          var Cookie = (Cookie[i] || "").replace( /^/s+|/s+$/g, "");          if (Cookie.substring(0, name.length + 1) == (name + '=')) {            CookieValue = decodeURIComponent(Cookie.substring(name.length + 1));            break;          }        }      }      return CookieValue;    }  };

如何使用

寫入Cookie信息:

// 簡單寫入一條 Cookie 信息cookie("user", "baidu");// 寫入一條 Cookie 信息,并且設置更多選項cookie("user", "baidu", {  expires: 10, // 有效期為 10 天  path: "/", // 整個站點有效  domain: "www.baidu.com", // 有效域名  secure: true // 加密數據傳輸});

2.讀取Cookie信息:

cookie("user");

3.刪除Cookie信息:

cookie("user", null);

再給大家分享一個封裝好的代碼

//向cookie寫入數據function writeCookie(name, value, days) { // 定義有效日期(cookie的有效時間) var expires = ""; // 為有效日期賦值 if (days) {  var date = new Date();	//設置有效期(當前時間+時間段)  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));//時間段為毫秒數   expires = "; expires=" + date.toGMTString(); } // 給cookie賦值 name, value和expiration date(有效期) document.cookie = name + "=" + value + expires + "; path=/";}//讀取cookie數據function readCookie(name) { var searchName = name + "="; var cookies = document.cookie.split(';'); for(var i=0; i < cookies.length; i++) {  var c = cookies[i];  while (c.charAt(0) == ' ')   c = c.substring(1, c.length);  if (c.indexOf(searchName) == 0)   return c.substring(searchName.length, c.length); } return null;}//清楚所有的cookiefunction eraseCookie(name) { // 將時間設置成-1將清除存儲在cookie中的數據 writeCookie(name, "", -1);}

最后,如果文章有什么錯誤和疑問的地方,請指出。與sf各位共勉!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久久久久久久久久av | 日本在线视频免费观看 | 久久激情免费视频 | 国产小视频一区 | 国产精品99久久久久久久女警 | 91精品国产乱码久久久久 | 亚洲精品自在在线观看 | 51国产偷自视频区视频小蝌蚪 | 一区二区三区视频播放 | 免费h片网站 | 久久久久久久久国产 | 九草在线视频 | 看免费毛片 | 国产精品久久久久久久模特 | 欧美成人免费在线视频 | 日本成人二区 | 国内精品视频饥渴少妇在线播放 | 91社影院在线观看 | 午夜爽爽爽男女免费观看hd | 国产无遮挡一级毛片 | 香蕉视频99 | av黄色片网站 | 黄色网电影| 免费在线观看午夜视频 | 精品成人av一区二区在线播放 | 欧美不卡| 综合国产在线 | 日日操日日操 | 777zyz色资源站在线观看 | 国产九九| 国产乱淫av | 亚洲网站一区 | 免费的性爱视频 | 国产精品性夜天天视频 | 日本不卡一区二区三区在线观看 | 精品国产一区二区三区蜜殿 | 做爰裸体激情2 | 色呦呦一区二区三区 | 成年人免费视频播放 | 成人aaaaa片毛片按摩 | 久久久久久久久久久av |