介绍
localStorage 为我们提供在浏览器中以键值对的方式保存数据的功能,存储在 localStorage 中的数据会一直保存,除非手动清理。
另外需要注意的是,localStorage 的键值对都是以字符串的形式存储的,如果 value 不是字符串类型,则会隐式转换为字符串。
使用
localStorage.setItem("foo", "123456");localStorage.getItem("foo"); // "123456"localStorage.setItem("foo", 1);localStorage.getItem("foo"); // "1"localStorage.setItem("foo", true);localStorage.getItem("foo"); // "true"localStorage.setItem("foo", {a:1});localStorage.getItem("foo"); // "[object Object]"// 删除某一项localStorage.removeItem('foo');// 移除所有localStorage.clear();
window.onstorage
🚀 参考
监听其他页面的 localStorage 更新
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><input type="text" id="input" onchange="onChangeHandler(event)"><script>const inputEl = document.getElementById("input");window.onstorage = function (e) {inputEl.value = e.newValue;}function onChangeHandler(e) {localStorage.setItem("value", e.target.value);}</script></body></html>
⚠️ 修改 localStorage 的页面不会触发该事件。
