首页 > 解决方案 > 用于登录的本地存储

问题描述

我想看看我网站上的用户是否登录了多次,所以他们必须重新登录。当我运行我的代码时,h4 元素里面没有文本内容。此外,h4 最初没有任何文本,它等待代码提供其 HTML。但是,Chrome 确实告诉我有 localStorage。我认为这就是我试图得到它的方式是问题所在。代码对我来说看起来正确的另一个问题。有谁知道如何解决这一问题?

这是我的代码:

    var login = 0;
    window.onload = function() {
    login++;
    localStorage.setItem("save1", btoa(login));
    CheckForOtherLogin();
    };
    function CheckForOtherLogin() {
    window.localStorage.getItem("save1");
    if (login === null) {
     login = 0;
    } else {
     login = atob(login);
     document.getElementById("test").innerHTML = login;
    }
    }

编辑:看起来我犯了一个小错误:

    var login = 0;
    window.onload = function() {
    login++;
    localStorage.setItem("save1", login);
    CheckForOtherLogin();
    };
    function CheckForOtherLogin() {
    window.localStorage.getItem("save1");
    if (login === null) {
     login = 0;
    } else {
     document.getElementById("test").innerHTML = login;
    }
return login;
    }

标签: javascripthtmlfunctionvariableslocal-storage

解决方案


似乎您传递给localstorage的是一个对象,因此html不会读取它,同样在“CheckForOtherLogin()”函数中,当您获取值时,您需要为var“login”分配一个值localStorage 试试这个:

`var login = 0;
window.onload = function() {
  login++;
  localStorage.setItem("save1", login);
  CheckForOtherLogin();
};
function CheckForOtherLogin() {
  login = window.localStorage.getItem("save1");
  if (login === null) {
    login = 0;
  } else {
   document.getElementById("test").innerHTML = login;
  }
}`

推荐阅读