js中的cookie操作

來源:互聯網
上載者:User

標籤:

一、js cookie   使用時把此段代碼引入頁面

(function (factory) {    if (typeof define === ‘function‘ && define.amd) {        define(factory);    } else if (typeof exports === ‘object‘) {        module.exports = factory();    } else {        var _OldCookies = window.Cookies;        var api = window.Cookies = factory(window.jQuery);        api.noConflict = function () {            window.Cookies = _OldCookies;            return api;        };    }}(function () {    function extend () {        var i = 0;        var result = {};        for (; i < arguments.length; i++) {            var attributes = arguments[ i ];            for (var key in attributes) {                result[key] = attributes[key];            }        }        return result;    }    function init (converter) {        function api (key, value, attributes) {            var result;            // Write            if (arguments.length > 1) {                attributes = extend({                    path: ‘/‘                }, api.defaults, attributes);                if (typeof attributes.expires === ‘number‘) {                    var expires = new Date();                    expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);                    attributes.expires = expires;                }                try {                    result = JSON.stringify(value);                    if (/^[\{\[]/.test(result)) {                        value = result;                    }                } catch (e) {}                value = encodeURIComponent(String(value));                value = value.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);                key = encodeURIComponent(String(key));                key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);                key = key.replace(/[\(\)]/g, escape);                return (document.cookie = [                    key, ‘=‘, value,                    attributes.expires && ‘; expires=‘ + attributes.expires.toUTCString(), // use expires attribute, max-age is not supported by IE                    attributes.path    && ‘; path=‘ + attributes.path,                    attributes.domain  && ‘; domain=‘ + attributes.domain,                    attributes.secure ? ‘; secure‘ : ‘‘                ].join(‘‘));            }            // Read            if (!key) {                result = {};            }            // To prevent the for loop in the first place assign an empty array            // in case there are no cookies at all. Also prevents odd result when            // calling "get()"            var cookies = document.cookie ? document.cookie.split(‘; ‘) : [];            var rdecode = /(%[0-9A-Z]{2})+/g;            var i = 0;            for (; i < cookies.length; i++) {                var parts = cookies[i].split(‘=‘);                var name = parts[0].replace(rdecode, decodeURIComponent);                var cookie = parts.slice(1).join(‘=‘);                if (cookie.charAt(0) === ‘"‘) {                    cookie = cookie.slice(1, -1);                }                try {                    cookie = converter && converter(cookie, name) || cookie.replace(rdecode, decodeURIComponent);                    if (this.json) {                        try {                            cookie = JSON.parse(cookie);                        } catch (e) {}                    }                    if (key === name) {                        result = cookie;                        break;                    }                    if (!key) {                        result[name] = cookie;                    }                } catch (e) {}            }            return result;        }        api.get = api.set = api;        api.getJSON = function () {            return api.apply({                json: true            }, [].slice.call(arguments));        };        api.defaults = {};        api.remove = function (key, attributes) {            api(key, ‘‘, extend(attributes, {                expires: -1            }));        };        api.withConverter = init;        return api;    }    return init();}));

設定cookie

Cookies(name, value); || Cookies.set(name, value);  //name:所存cookie的名稱;value:名稱對應的值
Cookies(name1, value1); || Cookies.set(name1, value1);
Cookies(name,value, { expires: 7 }); || Cookies.set(name,value, { expires: 7 });  // 設定cookie失效時間,單位:天
Cookies(name,value, { expires: 7,path:"/路徑",domain: "網域名稱"}); || Cookies.set(name,value, { expires: 7,path:"/路徑",domain: "網域名稱"});// 設定cookie,包括有效期間 路徑 網域名稱等

讀取cookie

Cookies(); || Cookies.get();  //讀取所有cookie,輸出的是對象==>{name:value, name1:value1}
Cookies(name); || Cookies.get(name);  //讀取對應名稱的cookie==>value

刪除cookie

Cookies(name:""); //將cookie清空
Cookie.remove(name:""); //刪除cookie 對應的cookie名稱也刪除

 

js中的cookie操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.