浏览器关闭怎么清除localstorage。
因为sessionstorage不能跨窗口,所以用localstorage,但是又想实现关闭浏览器清除localstorage的功能。
请问有没有什么方法实现。。或是有什么其他方法替代localstorage。
浏览器关闭怎么清除localstorage。
因为sessionstorage不能跨窗口,所以用localstorage,但是又想实现关闭浏览器清除localstorage的功能。
请问有没有什么方法实现。。或是有什么其他方法替代localstorage。
................
补充:sorry,我看错了,其实方法都差不多,我写的是react
具体的就是使用窗口浏览器关闭事件。
这个react写的亲测有效,我测试过了。我再写一个js吧。
window.onunload=function(){
localStorage.clear();
}
componentDidMount() {
window.addEventListener('unload', this.handleUnload);
}
componentWillUnmount() {
window.removeEventListener('unload', this.handleUnload);
}
handleUnload(){
localStorage.clear();
}
遇到了同样的问题, 建议使用cookie,cookie的生命周期和浏览器是一样的,浏览器关闭了cookie就销毁了。localStorage和sessionStrage两个是两个极端,一个删不掉,一个不能跨页面。cookie虽然只能存4kb,但也够了!
因为sessionstorage不能跨窗口,所以用localstorage,但是又想实现关闭浏览器清除localstorage的功能。
为什么不通过 URL传参
的方式跨窗口传值呢?
要实现这个需求只需在原来的基础上利用一下cokies就行了。实现思路是利用cokies的特性(浏览器关闭会清除cokies),所以说只需要在呢一开始需要绑定localstorage时,设置一个cokies,然后在一个全局js文件里判断一下是否存在这个cokies,不存在就清空local。
设置cokies:
document.cookie="loginState="+'xxxxx';
判断colies:
let loginState=document.cookie.split(";")[0].split("=")[1];
if(loginState == undefined){
document.cookie="loginState="+'';
localStorage.clear()
}
13 回答12.7k 阅读
7 回答1.8k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答776 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
利用浏览器的关闭事件执行localStorage的清楚方法即可!