每次刷新后初始化 localStorage

Init localStorage after every refresh

我想在每次用户按 F-5 进行刷新时初始化 localStorage 对象。

我可以做这样的事吗?

localStorage 对象通过 setItem 和 getItem 方法工作正常。 但是,我想知道我是否可以选择在每次刷新操作时都初始化此对象。

例如: 我的应用程序中有两个不同的页面。 A.js 和 B.js。 加载 B.js 时,我设置了 localStorage:

var id = getId();
window.localStorage.setItem("Id", id );

在那之后,当我点击一个按钮去A.js时,我在做:

var selectedId = window.localStorage.getItem("Id");

if (selectedId !== null){
    var intSelectedId = parseInt(selectedId );
   //DO LOGIC
 }

我想在每次刷新时删除 ("Id", id) 键值对。 我该怎么做?

也许像这样?

//declare in global scope
var myinitvalue = "blah";
//handle what happens just before page unloads
window.onbeforeunload = function() {
    window.localStorage.setItem("Id", myinitvalue);
}

不幸的是,这样做的副作用是如果关闭浏览器选项卡或单击后退按钮,该值也会重置。

如果您想在页面加载后删除键为 Id 的项目,请执行

window.onload=function(){
   localStorage.removeItem("Id");
}