摘要:本文章記錄本人在學習中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。封裝函數在默認的情況下存取是一件比較麻煩的事情。而且信息的字符串本身就令人討厭,在經常使用信息的應用中格外的不方便。
封裝函數本文章記錄本人在學習 Cookie 中看書理解到的一些東西,加深記憶和并且整理記錄下來,方便之后的復習。
在默認的情況下存取Cookie是一件比較麻煩的事情。由于Cookie是通過字符串來存儲信息的,所以容易導致在執行賦值運算的時需要轉換讀取信息的數據類型。而且Cookie信息的字符串本身就令人討厭,在經常使用Cookie信息的 Web 應用中格外的不方便。所以需要自行的封裝一個Cookie函數來提供開發效率!
定義一個函數Cookie(),這個函數能夠寫入指定的Cookie信息,刪除指定的Cookie信息,也能夠讀取指定名稱的Cookie值,另外,在該函數中還可以制定Cookie信息的有效期、有效路徑、作用域和安全性選項設置。完整的代碼:
JavaScriptvar 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信息:
JavaScript// 簡單寫入一條 Cookie 信息 cookie("user", "baidu"); // 寫入一條 Cookie 信息,并且設置更多選項 cookie("user", "baidu", { expires: 10, // 有效期為 10 天 path: "/", // 整個站點有效 domain: "www.baidu2.com", // 有效域名 secure: true // 加密數據傳輸 });
2.讀取Cookie信息:
JavaScriptcookie("user");
3.刪除Cookie信息:
JavaScriptcookie("user", null);
最后,如果文章有什么錯誤和疑問的地方,請指出。與sf各位共勉!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85747.html
摘要:前言這里筑夢師是一名正在努力學習的開發工程師目前致力于全棧方向的學習希望可以和大家一起交流技術共同進步用簡書記錄下自己的學習歷程個人學習方法分享本文目錄更新說明目錄學習方法學習態度全棧開發學習路線很長知識拓展很長在這里收取很多人的建議以后決 前言 這里筑夢師,是一名正在努力學習的iOS開發工程師,目前致力于全棧方向的學習,希望可以和大家一起交流技術,共同進步,用簡書記錄下自己的學習歷程...
閱讀 2247·2021-11-23 09:51
閱讀 1042·2021-11-18 10:02
閱讀 3434·2021-10-13 09:49
閱讀 1262·2021-09-22 14:57
閱讀 10391·2021-08-18 10:20
閱讀 1181·2019-08-30 15:55
閱讀 2225·2019-08-29 16:06
閱讀 3232·2019-08-29 11:14