首页 > 编程 > JavaScript > 正文

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

2019-11-20 21:20:06
字体:
来源:转载
供稿:网友

复制代码 代码如下:

//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('|');
    }
};

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表