javascript - 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>
解决方案
推荐阅读
- asp.net - 在 asp.net 网络表单中注销
- javascript - fabric.js 文本框省略号
- linux - 提取 DT_GOTPLT 条目中的信息
- database - DynamoDB 中的一对多关系
- python-3.x - 在 perforce 触发脚本中调用 Tkinter 消息框时不会出现
- filter - 在 Microsoft Dynamics 365 中,是否可以创建不需要用户“编辑”搜索结果的筛选字段?
- sql - Sql Sequelize - 需要带有分页的随机数据
- c++ - WebAssembly 编译器错误:使用外部库编译时未定义符号
- javascript - 如何在跳转到数组中的下一个元素之前打开对话框并等待用户确认?
- r - 来自 R 包 cubature 的 adaptIntegrate 得到一个巨大的积分错误