【问题标题】:Init localStorage after every refresh每次刷新后初始化 localStorage
【发布时间】:2015-03-01 07:32:55
【问题描述】:

我想在每次用户按 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) 键值对。 我该怎么做?

【问题讨论】:

  • 初始化什么,如何初始化?完全不清楚你在问什么?
  • 初始化localStorage是什么意思?
  • 你的意思是像var initID = localStorage.getItem("id") || getId(); 和其他人一样吗?我对你到底在问什么感到困惑。

标签: javascript cookies local-storage


【解决方案1】:

可能是这样的?

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

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

【讨论】:

  • 它在某些情况下会有所帮助,而在某些情况下则不会!还是谢谢。
  • 是的,我认为这个特定的 DOM 事件处理程序应该可以解决问题。如果您认为我的回答充分回答了您的问题,请选择正确答案。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    相关资源
    最近更新 更多