一个利用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('|'); } };
作者:阿良
出处:http://www.cnblogs.com/arliang
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议
进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。