码迷,mamicode.com
首页 > 其他好文 > 详细

封装cookie localStorage sessionStorage

时间:2016-06-12 13:51:55      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

 var cookie = function(name, value, options) {
        if (typeof value !== undefined) {
            options = options || {};
            if (value === null) {
                value = ‘‘;
                options = $.extend({}, options);
                options.expires = -1;
            }
            var expires = ‘‘;
            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) : ;path=/;
            var domain = options.domain ? ; domain= + (options.domain) : ‘‘;
            var secure = options.secure ? ; secure : ‘‘;
            document.cookie = [name, =, encodeURIComponent(value), expires, path, domain, secure].join(‘‘);
        } else {
            var cookieValue = null;
            if (document.cookie && document.cookie !== ‘‘) {
                var cookies = document.cookie.split(;);
                for (var i = 0; i < cookies.length; i++) {
                    var cookie = $.trim(cookies[i]);
                    if (cookie.substring(0, name.length + 1) === (name + =)) {
                        cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                        break;
                    }
                }
            }
            return cookieValue;
        }
    }
    var removeCookie = function(key) {
        $.cookie(key, ‘‘, {
            expires: -1
        });
    }

 

    var storage = function(st, key, value, expires) {
            if (st == l) {
                st = window.localStorage;
                expires = expires || 60;
            } else {
                st = window.sessionStorage;
                expires = expires || 5;
            }
            if (typeof value != undefined) {
                try {
                    return st.setItem(key, JSON.stringify({
                        data: value,
                        expires: new Date().getTime() + expires * 1000 * 60
                    }));
                } catch (e) {}
            } else {
                var result = JSON.parse(st.getItem(key) || {});
                if (result && new Date().getTime() < result.expires) {
                    return result.data;
                } else {
                    st.removeItem(key);
                    return null;
                }
            }
        }

 

封装cookie localStorage sessionStorage

标签:

原文地址:http://www.cnblogs.com/xiaotaiyang/p/5577134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!