Browse Source

记录localStorage触发更新

kindring 2 years ago
parent
commit
0bd68de4ee
1 changed files with 15 additions and 0 deletions
  1. 15 0
      js/浏览器Store操作.md

+ 15 - 0
js/浏览器Store操作.md

@@ -0,0 +1,15 @@
+# 浏览器端`localStore`
+> 重写`setItem`函数来实现前端修改存储值事件监听
+```js
+const setItem = localStorage.setItem
+localStorage.setItem = function (name, value){
+setItem.apply(this, arguments)
+var event = new Event('setItem')
+event.key = name
+event.value = value
+window.dispatchEvent(event);
+}
+// 页面使用
+window.addEventListener('setItem', function (e) { document.querySelector('.view').innerText = `${e.key}: ${e.value}`
+})
+```