我有一个应用程序,用于将用户数据存储在浏览器的localStorage中。因此,用户甚至可以跨浏览器选项卡和窗口获取这些数据。但我想要做的是在用户关闭浏览器窗口时清除localStorage。
我使用beforeunload
函数来实现此功能,但它也会在tab关闭时触发。
所以,如果有任何方法可以检测浏览器标签是否关闭或浏览器窗口,请帮助我。
PS:我无法使用sessionStorage,因为它会在关闭浏览器标签时销毁。
答案 0 :(得分:1)
在浏览器中使用会话存储 在这里,您不希望捕获浏览器选项卡关闭事件。会话存储数据持续存在于已打开选项卡的会话
if (sessionStorage.clickcount) {
sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
sessionStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " +
sessionStorage.clickcount + " time(s) in this session.";
我从Here
中获取了这些示例代码仅在浏览器关闭时清除
localStorage.removeItem(key);
希望这会对你有所帮助