首页 > 解决方案 > Cookie 总是要求输入

问题描述

我有个问题。每次我重新加载页面时,JavaScript 总是显示一个框来询问输入。它应该只询问一次,然后当我重新加载页面时,它应该显示“再次欢迎:your_input_here”。我确实使用 Live Server 使用 VS Code 进行了尝试,并且成功了。但是,当我转到包含文件的文件夹并单击 index.html 文件时。它显示了一个要求输入的框,我确实输入了输入并单击了提交按钮,然后当我重新加载页面时,该框再次显示并要求输入而不保存我的最后一次输入。有人能帮我吗?谢谢

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
  }
  
  function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i < ca.length; i++) {
      var c = ca[i];
      while (c.charAt(0) == ' ') {
        c = c.substring(1);
      }
      if (c.indexOf(name) == 0) {
        return c.substring(name.length, c.length);
      }
    }
    return "";
  }
  
  function checkCookie() {
    var user = getCookie("username");
    if (user != "") {
      alert("Welcome again " + user);
    } else {
      user = prompt("Please enter your name:", "");
      if (user != "" && user != null) {
        setCookie("username", user, 365);
      }
    }
  }
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-width=1">
        <script src="./cookie.js"></script>  
        <title>A14</title>
    </head>
    <body onload="checkCookie()">
      
    </body>
</html>

标签: javascripthtml

解决方案


推荐阅读