zoukankan      html  css  js  c++  java
  • 封装cookie localStorage sessionStorage

     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;
                    }
                }
            }
  • 相关阅读:
    Hadoop-MyEclipse安装配置
    grid搜索最优参数
    python数据集处理
    集合框架
    Java泛型集合
    python机器学习工具包
    IO流
    Eclipse导入Hadoop源码项目及编写Hadoop程序
    Hadoop日志以及日志的格式和命名组成
    VIM键盘映射 (Map)
  • 原文地址:https://www.cnblogs.com/xiaotaiyang/p/5577134.html
Copyright © 2011-2022 走看看