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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

  2020-05-13 我要评论

复制代码 代码如下:

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们