代码之家  ›  专栏  ›  技术社区  ›  Mayron Guedes

如果登录名不在本地存储中,如何重定向页面?

  •  0
  • Mayron Guedes  · 技术社区  · 1 年前

    如果登录未完成,我如何重定向? 我刚开始学习js,但我在基本的东西上仍然有困难。。。 我正在使用Blogger,我试过几次,但都没有成功。

    此外,我想创建一个注销按钮以从本地存储中删除

    这是登录代码+本地存储:

    var storeS = localStorage.getItem("users");
    if (storeS == null) {
      var users = [{
        username: "test",
        password: "1234"
      }];
      localStorage.setItem("users", JSON.stringify(users));
    }
    
    function getUserUsername(username) {
      return JSON.parse(localStorage.getItem('users')).filter(users => users.username === username)
    }
    
    function cheklog() {
      var login = localStorage.getItem("login");
      if (login != null && login == "true") {
        document.querySelector(".wendyloginwrap").classList.add("hidden");
      }
    }
    cheklog();
    
    function startlog() {
      var username = document.querySelector("#username").value;
      var password = document.querySelector("#password").value;
    
      if (getUserUsername(username.trim()).length > 0) {
        var user = getUserUsername(username.trim())[0];
        if (user.password == password.trim()) {
          document.querySelector("#login-area").classList.add("hidden");
          document.querySelector("#login-true").classList.remove("hidden");
          localStorage.setItem("login", "true");
          setTimeout(function() {
            window.location.href = "#";
          }, 2000);
        } else {
          document.querySelector("#akses").innerHTML = "username or password is invalid!";
        }
      } else {
        document.querySelector("#akses").innerHTML = "username not found";
      }
    }
    
    const show = () => {
      var password = document.querySelector("#password");
      var sandi = document.querySelector(".icon1");
      var sandidua = document.querySelector(".icon2");
      if (password.type === "password") {
        password.type = "text";
        sandidua.style.opacity = "1";
        sandi.style.opacity = "0";
      } else {
        password.type = "password";
        sandidua.style.opacity = "0";
        sandi.style.opacity = "1";
      }
    }
    1 回复  |  直到 1 年前
        1
  •  0
  •   Mario Di Modica    1 年前

    如果你想将用户重定向到登录页面,你可以简单地使用window.location.href或window.location.assign(),但必须在你想要保护的“x”页面上进行检查,比如 if (localStorage.getItem("login") !== "true") //redirect to login 。对于注销按钮,您也可以重定向,并可以使用清除本地存储 localStorage.clear() (删除所有内容)或 localStorage.removeItem(item)