有时候需求需要在两个页面交互,比如说在浏览器窗口A页面修改了一个项目之后,之前打开的窗口B页面也需要跟着修改成A页面修改的项目,不然用户会很奇怪两个页面的数据不一致,所以就可以用到监听localStorage变化来进行修改
看下基础的代码
// 监听localStorage中的projectid的变化
window.addEventListener('storage', (event) => {
if (event.key === 'projectid') {
// 当projectid变化时,更新项目名称
}
console.log('Storage event:', event);
});
注意事项
- 只有在不同的窗口之间修改
localStorage时,才会触发storage事件 - 如果在同一个窗口/选项卡中修改
localStorage,则不会触发storage事件