封装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;
                }
            }
        }
时间: 2024-10-22 15:45:59

封装cookie localStorage sessionStorage的相关文章

cookie,localStorage,sessionStorage的区别

一.概念 Cookie 什么是Cookie —— Cookie 是一些数据, 存储于你电脑上的文本文件中. localStorage 什么是 localStorage —— localStorage 是指将信息数据存储在客户端本地的硬件上,即使浏览器被关闭了,信息数据同样存在 sessionStorage 什么是 sessionStorage —— sessionStorage 是指将信息数据存储在session对象中,所以当浏览器关闭后,sessionStorage也随之清空 二.如何使用(一

解读cookie,localstorage,sessionstorage用法与区别2(解读cookie)

说到本地存储 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 永久存储(可以手动删除数据) sessionStorage - session临时回话,从页面打开到页面关闭的时间段 窗口的临时存储,页面关闭,本地存储消失 其实前景和作用和cookie也是相同甚至从cookie演变而来,用一张图来表示服务商对本地存储的探索. 由图就可以看出本地存储的和cookie的区别,存储大且无插件. 这时也许就该思考H5的最大问题兼容性,这是本地存储支持情况图. 检测: if(w

cookie/ localStorage /sessionStorage区别

/** localStorage** *///window.localStorage 获取//window.sessionStorage 获取//document.cookie 获取 // 设置cookie document.cookie = 'aaa= 12';// cookie 大小限制 最多5kb 而且也占用带宽,因为会把cookie中的内容全部发给后台// localStorage 容量较大: 而且不会发给后台,不占用带宽// sessionStorage 再关闭页面时 就会清空 //

cookie,localStorage,sessionStorage的特点与区别。

1.cookie Cookie实际上是一小段的文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存起来.当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器.服务器检查该Cookie,以此来辨认用户状态.服务器还可以根据需要修改Cookie的内容.由于cookie的安全性不高,所以一般不把密码保存在cookie中: 2.localStorage ①相当于一个5M大小的前端数据库

解读cookie,localstorage,sessionstorage用法与区别

cookie cookie概念 cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值. 为什么提出cookie? 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份.怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证.这样服务器就能从通行证上确认客户身份了.这就是Cookie的工作原理. 我的理解 cookie为一小段文

Cookie, LocalStorage 与 SessionStorage说明

 一.Cookie    Cookie 大小限制为4KB左右,不适合大量数据的存储.因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高.它的主要用途有保存登录信息,比如你登录某个网站市场可以看到"记住密码",这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的. HttpCookie cookie = new HttpCookie("MyCookieName", "string value"); Re

Cookie, LocalStorage 与 SessionStorage

Cookie, LocalStorage 与 SessionStorage相同点 都是储存在用户本地的数据. 意义在于避免数据在浏览器和服务器间不必要地来回传递. 三者的特点     同属于html5中的Web Storage 特性 Cookie localStorage sessionStorage 数据的生命期 可设置失效时间,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭浏览器后被清除 存放数据大小 4K/个文件*最多20个 >5MB/站点 >5MB/站点 与

浅谈cookie,sessionStorage和localStorage区别

在客户端存储数据可以使用的技术有如下四种: Cookie技术:浏览器兼容性好,但操作比较复杂,需要程序员自己封装,源生的Cookie接口不友好 H5 WebStorage:不能超过8MB,操作简单: IndexedDB:可存大量数据,还不是标准技术: Flash存储:依赖于Flash播放器,Adobe已宣布将放弃Flash,可以不再考虑此技术. 这里主要讨论cookie和WebStorage: 共同之处:Cookie和WebStorage都是用来跟踪浏览器用户身份的会话方式. 名词解释:Sess

cookie、sessionStorage、localStorage的区别

cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存.cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下.存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识. sessionStorage和localStorage虽然也有存储大小