Welcome 微信登录

首页 / 脚本样式 / JavaScript / 利用window.name实现windowStorage代码分享

复制代码 代码如下:
//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("|");
    }
};