nameStorage 是类似 sessionStroage 的键值对数据存储工具,但是可以跨域。
nameStorage 适用于同一窗口内跨页面数据存储与传递。
技术上,nameStorage 使用 window.name 存储数据。 数据的生存周期为窗口会话的生存周期,同一个窗口可以通过 nameStorage 共享数据。
window.name
非常有用,但不可滥用。
为了规范、简单便利、安全的使用 window.name
,制造了这个模块。
更多请参考 window.name
使用规范。
var key = "key";
var value = "value";
nameStorage.setItem(key, value);
nameStorage.getItem(key);
nameStorage.removeItem(key);
写入数据到 nameStorage。
读取 nameStorage 存储的指定键值数据。
删除 nameStorage 存储的指定键值数据。
清空 nameStorage 存储的数据。
读取 nameStorage 存储的所有数据。
返回 nameStorage 存储的数据的字符串形式。
scheme nameStorage datas
| |
------------ ------------------------
nameStorage:origin-name?key1=value1&key2=value2
-----------
|
window origin name
- 不要直接操作
window.name
。 - 几乎所有的
window.name
操作,均应使用 nameStorage 提供的接口完成。 - 使用 nameStorage 传输完数据后,尽量在恰当的时机使用
removeItem()
清理对应数据。 - 主意:为了避免误清理其他人的数据,尽量使用
removeItem()
清理指定数据, 而不是clear()
清空所有数据。
window.name 没有固定的长度限制,只受内存大小限制。
- Improve cross-domain communication with client-side solutions
- HTML5 sessionStorage for "every" browsers
MIT