当前位置:主页 > 网页前端 > JavaScript代码 >

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

时间:2020-12-28 12:22:00 | 栏目:JavaScript代码 | 点击:

复制代码 代码如下:

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

您可能感兴趣的文章:

相关文章