利用window.name实现windowStorage代码分享


Posted in Javascript onJanuary 02, 2014
//key:value|key:value
var windowStorage = {
    _inited: false,
    _data: {},
    init: function(str) {
        var tmpData, key, value, kv;
        this._inited = true;
        if (str && typeof str == 'string') {
            tmpData = str.split('|');
            for (var i = 0, len = tmpData.length; i < len; i++) {
                kv = tmpData[i].split(':');
                key = unescape(kv[0]);
                value = unescape(kv[1]);
                this._data[key] = value;
            }
        } else if (typeof str == 'object') {
            this._data = str;
        }
    },
    read: function(key) {
        if (!this._inited) {
            throw new Error('Please initialize before reading.');
        }
        return this._data[key];
    },
    write: function(key, value) {
        var str = [];
        if (!this._inited) {
            throw new Error('Please initialize before writing.');
        }
        this._data[key] = value;
        for (var k in this._data) {
            str.push(escape(k) + ':' + escape(this._data[k]));
        }
        window.name = str.join('|');
    }
};
Javascript 相关文章推荐
jQuery select的操作实现代码
May 06 Javascript
基于jquery的地址栏射击游戏代码
Mar 10 Javascript
表单JS弹出填写提示效果代码
Apr 16 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
Sep 29 Javascript
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
jQuery的缓存机制浅析
Jun 07 Javascript
Javascript中获取对象的原型对象的方法小结
Feb 25 Javascript
Javascript类型系统之undefined和null浅析
Jul 13 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
Sep 25 Javascript
彻底理解js面向对象之继承
Feb 04 Javascript
原生js实现trigger方法示例代码
May 22 Javascript
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 Vue.js
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
Jan 02 #Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
Jan 02 #Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
Jan 02 #Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
Jan 02 #Javascript
jQuery简单实现banner图片切换
Jan 02 #Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
Jan 02 #Javascript
使用简洁的jQuery方法实现隔行换色功能
Jan 02 #Javascript
You might like
php中批量替换文件名的实现代码
2011/07/20 PHP
PHP源码之explode使用说明
2011/08/05 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
犀利的js 函数集合
2009/06/11 Javascript
Javascript 错误处理的几种方法
2009/06/13 Javascript
JS 图片缩放效果代码
2010/06/09 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
Vue基础配置讲解
2019/11/29 Javascript
python多线程threading.Lock锁用法实例
2014/11/01 Python
深入解析Python中的urllib2模块
2015/11/13 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
python rsa 加密解密
2017/03/20 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
python数据分析:关键字提取方式
2020/02/24 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
介绍一下MD5加密算法
2016/11/12 面试题
代理班主任的自我评价
2014/02/04 职场文书
社区活动策划方案
2014/08/21 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
2019年作为一名实习生的述职报告
2019/09/29 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
Django与数据库交互的实现
2021/06/03 Python
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL