使用 localStorage
localStorage 对象提供字符串的持久性(但不是永久性的 - 请参阅下面的限制)键值存储。任何更改都会立即显示在同一来源的所有其他窗口/框架中。除非用户清除已保存的数据或配置到期限制,否则存储的值将无限期持久存储。localStorage 使用类似于地图的界面来获取和设置值。
localStorage.setItem('name', "John Smith");
console.log(localStorage.getItem('name')); // "John Smith"
localStorage.removeItem('name');
console.log(localStorage.getItem('name')); // null
如果要存储简单的结构化数据,可以使用 JSON 将其序列化为字符串以进行存储。
var players = [{name: "Tyler", score: 22}, {name: "Ryan", score: 41}];
localStorage.setItem('players', JSON.stringify(players));
console.log(JSON.parse(localStorage.getItem('players')));
// [ Object { name: "Tyler", score: 22 }, Object { name: "Ryan", score: 41 } ]
浏览器中的 localStorage 限制
移动浏览器:
浏览器 | 谷歌浏览器 | Android 浏览器 | Firefox | iOS Safari |
---|---|---|---|---|
版 | 40 | 4.3 | 34 | 6-8 |
可用空间 | 10MB | 2MB | 10MB | 5MB |
桌面浏览器:
浏览器 | 谷歌浏览器 | Opera | Firefox | 苹果浏览器 | IE 浏览器 |
---|---|---|---|---|---|
版 | 40 | 27 | 34 | 6-8 | 9-11 |
可用空间 | 10MB | 10MB | 10MB | 5MB | 10MB |