使用 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