Window:localStorage 属性
window 接口的 localStorage 只读属性允许你访问 Document 源的 Storage 对象;存储的数据在浏览器会话中是持久化的。
localStorage 类似于 sessionStorage,不同之处在于 localStorage 数据没有过期时间,而 sessionStorage 数据在页面会话结束时(即页面关闭时)会被清除。(在“隐私浏览”或“无痕”会话中加载的文档的 localStorage 数据在最后一个“隐私”标签页关闭时会被清除。)
值
一个 Storage 对象,可用于访问当前源的本地存储空间。
异常
SecurityError-
在以下情况之一中抛出
- 源不是有效的方案/主机/端口元组。例如,如果源使用
file:或data:方案,则可能会发生这种情况。 - 请求违反了策略决定。例如,用户已将浏览器配置为阻止页面持久化数据。
请注意,如果用户阻止 cookie,浏览器可能会将其解释为阻止页面持久化数据的指令。
- 源不是有效的方案/主机/端口元组。例如,如果源使用
描述
使用 localStorage 存储的键和值都是 UTF-16 字符串格式。与对象一样,整数键会自动转换为字符串。
localStorage 数据特定于文档的协议。特别是,对于通过 HTTP 加载的站点(例如,http://example.com),localStorage 返回的对象与通过 HTTPS 加载的相应站点(例如,https://example.com)的 localStorage 返回的对象不同。
对于从 file: URL(即直接从用户的本地文件系统在浏览器中打开的文件,而不是从 Web 服务器提供)加载的文档,localStorage 行为的要求是未定义的,并且可能因不同浏览器而异。
在所有当前浏览器中,localStorage 似乎为每个 file: URL 返回一个不同的对象。换句话说,每个 file: URL 似乎都有自己独特的本地存储区域。但对此行为没有保证,所以你不应该依赖它,因为如上所述,file: URL 的要求仍然未定义。因此,浏览器可能会随时更改其 file: URL 的 localStorage 处理方式。事实上,有些浏览器确实随着时间改变了它们的处理方式。
示例
以下代码片段访问当前域的本地 Storage 对象,并使用 Storage.setItem() 向其添加数据项。
localStorage.setItem("myCat", "Tom");
读取 localStorage 项的语法如下
const cat = localStorage.getItem("myCat");
删除 localStorage 项的语法如下
localStorage.removeItem("myCat");
删除所有 localStorage 项的语法如下
localStorage.clear();
注意:请参阅使用 Web Storage API 文章以获取完整示例。
规范
| 规范 |
|---|
| HTML # dom-localstorage-dev |
浏览器兼容性
加载中…