设为首页 加入收藏

TOP

HTML5本地存储Localstorage(三)
2015-07-16 12:56:36 来源: 作者: 【 】 浏览:21
Tags:HTML5 本地 存储 Localstorage
str.length - 1);
? ? ? var num = str.substring(0, str.length - 1);
? ? ? var Map = {
? ? ? ? D: 86400,
? ? ? ? H: 3600,
? ? ? ? M: 60,
? ? ? ? S: 1
? ? ? };
? ? ? if (typeof unit == 'string') {
? ? ? ? unit = unit.toUpperCase();
? ? ? }
? ? ? timeout = num;
? ? ? if (unit) timeout = Map[unit];


? ? ? //单位为毫秒
? ? ? return num * timeout * 1000 ;
? ? },


? ? //缓存数据
? ? set: function (value, sign) {
? ? ? //获取过期时间
? ? ? var timeout = new Date();
? ? ? timeout.setTime(timeout.getTime() + this._getLifeTime());
? ? ? this.sProxy.set(this.key, value, timeout.getTime(), sign);
? ? },


? ? //设置单个属性
? ? setAttr: function (name, value, sign) {
? ? ? var key, obj;
? ? ? if (_.isObject(name)) {
? ? ? ? for (key in name) {
? ? ? ? ? if (name.hasOwnProperty(key)) this.setAttr(k, name[k], value);
? ? ? ? }
? ? ? ? return;
? ? ? }


? ? ? if (!sign) sign = this.getSign();


? ? ? //获取当前对象
? ? ? obj = this.get(sign) || {};
? ? ? if (!obj) return;
? ? ? obj[name] = value;
? ? ? this.set(obj, sign);


? ? },


? ? getSign: function () {
? ? ? return this.sProxy.getSign(this.key);
? ? },


? ? remove: function () {
? ? ? this.sProxy.remove(this.key);
? ? },


? ? removeAttr: function (attrName) {
? ? ? var obj = this.get() || {};
? ? ? if (obj[attrName]) {
? ? ? ? delete obj[attrName];
? ? ? }
? ? ? this.set(obj);
? ? },


? ? get: function (sign) {
? ? ? var result = [], isEmpty = true, a;
? ? ? var obj = this.sProxy.get(this.key, sign);
? ? ? var type = typeof obj;
? ? ? var o = { 'string': true, 'number': true, 'boolean': true };
? ? ? if (o[type]) return obj;


? ? ? if (_.isArray(obj)) {
? ? ? ? for (var i = 0, len = obj.length; i < len; i++) {
? ? ? ? ? result[i] = obj[i];
? ? ? ? }
? ? ? } else if (_.isObject(obj)) {
? ? ? ? result = obj;
? ? ? }


? ? ? for (a in result) {
? ? ? ? isEmpty = false;
? ? ? ? break;
? ? ? }
? ? ? return !isEmpty ? result : null;
? ? },


? ? getAttr: function (attrName, tag) {
? ? ? var obj = this.get(tag);
? ? ? var attrVal = null;
? ? ? if (obj) {
? ? ? ? attrVal = obj[attrName];
? ? ? }
? ? ? return attrVal;
? ? }


? });


? Store.getInstance = function () {
? ? if (this.instance) {
? ? ? return this.instance;
? ? } else {
? ? ? return this.instance = new this();
? ? }
? };


? return Store;
});


我们真实使用的时候是使用store这个类操作localstorage,代码结束简单测试:



window.onunload = function () { };//适合单页应用,不要问我为什么,我也不知道


结语


localstorage是移动开发必不可少的技术点,需要深入了解,具体业务代码后续会放到git上,有兴趣的朋友可以去了解。


--------------------------------------分割线 --------------------------------------?


--------------------------------------分割线 --------------------------------------


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python中的编码与解码 下一篇Python保留指定文件、删除目录其..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: