localStorage 第一次获取上次的值,需刷新一下才能获取到最新的值,怎么解决
时间: 2024-02-24 16:57:49 浏览: 142
HTML5 LocalStorage 本地存储刷新值还在
如果要在获取 localStorage 的值时能够获取到最新的值,可以在设置 localStorage 的值时,同时触发一个自定义事件,在事件处理函数中更新对应的页面内容。然后在页面加载时,监听这个自定义事件,当事件触发时,更新页面内容。这样,无论是第一次获取 localStorage 的值,还是之后的获取,都可以保证获取到最新的值。
以下是一个示例代码:
```javascript
// 设置 localStorage 值时触发自定义事件
localStorage.setItem('key', 'value');
document.dispatchEvent(new Event('storageUpdated'));
// 监听自定义事件,在事件处理函数中更新页面内容
document.addEventListener('storageUpdated', function() {
// 更新页面内容
var value = localStorage.getItem('key');
document.getElementById('id').innerHTML = value;
});
// 页面加载时也监听自定义事件,以便在页面第一次加载时更新页面内容
document.addEventListener('DOMContentLoaded', function() {
document.dispatchEvent(new Event('storageUpdated'));
});
```
这样,无论是第一次加载页面,还是之后的获取 localStorage 值,都可以获取到最新的值,并更新对应的页面内容。
阅读全文