写一个监听localStorage.getItem("companySearchKey")的代码
时间: 2024-05-12 22:16:21 浏览: 30
可以使用JavaScript中的addEventListener方法来监听localStorage.getItem("companySearchKey")的值变化。
示例代码如下:
```
window.addEventListener('storage', function(event) {
if (event.key === 'companySearchKey') {
console.log('localStorage.getItem("companySearchKey") 的值变为:' + event.newValue);
}
});
```
当localStorage.getItem("companySearchKey")的值发生变化时,会执行监听函数中的代码。注意,此方法只适用于同一域名下的不同页面之间的通信。
相关问题
if (window.localStorage.getItem("Token") != null && window.localStorage.getItem("Token") != 'null') { if (window.sessionStorage.getItem("token") == null || window.sessionStorage.getItem("token") == 'null') { window.sessionStorage.setItem("token", window.localStorage.getItem("Token")); window.sessionStorage.setItem("role", window.localStorage.getItem("role")); window.sessionStorage.setItem("accountTableName", window.localStorage.getItem("sessionTable")); window.sessionStorage.setItem("username", window.localStorage.getItem("adminName")); } }
这段代码主要是用于判断用户是否已经登录,如果用户已经登录且在本地存储中存在 Token,则将 Token、角色、账号表名和用户名等信息存储到 session 中。其中:
- `window.localStorage.getItem("Token")` 表示获取本地存储中的 Token 值;
- `window.sessionStorage.getItem("token")` 表示获取 session 中的 Token 值;
- `window.sessionStorage.setItem("token", window.localStorage.getItem("Token"))` 表示将本地存储中的 Token 值存储到 session 中;
- `window.sessionStorage.setItem("role", window.localStorage.getItem("role"))` 表示将本地存储中的角色信息存储到 session 中;
- `window.sessionStorage.setItem("accountTableName", window.localStorage.getItem("sessionTable"))` 表示将本地存储中的账号表名存储到 session 中;
- `window.sessionStorage.setItem("username", window.localStorage.getItem("adminName"))` 表示将本地存储中的用户名存储到 session 中。
通过将用户信息存储到 session 中,可以方便地在后续的操作中获取用户的身份信息,从而进行相应的权限控制。
监听localStorage.getItem('username')的变化
可以通过监听`storage`事件来实现。当`localStorage`中的值发生变化时,`storage`事件会被触发。可以在事件处理函数中获取到变化的`key`和`newValue`。
下面是一个监听`localStorage.getItem('username')`变化的示例代码:
```javascript
window.addEventListener('storage', function(event) {
if (event.key === 'username') {
console.log('localStorage.getItem("username")变化了,新值为:', event.newValue);
// 在这里执行你需要的操作
}
});
```
需要注意的是,`storage`事件只能在不同的页面之间触发。也就是说,只有在同一域名下打开多个页面时,才能监听到`localStorage`的变化。如果在同一页面中修改了`localStorage`的值,`storage`事件不会触发。
阅读全文