我正在製作一個使用cookie獲取用戶名的網站。當我嘗試使用inner.html顯示它時,它甚至不會提示用戶。這是我的代碼。該地區是特定的功能checkCookie()如何從用戶輸入中獲取cookie並將其顯示在html元素上
<!DOCTYPE html>
<html>
<head>
<script>
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname+"="+cvalue+"; "+expires;
}
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 != null) {
document.getElementById("person").innerHTML =
"Hello " + user + "!";
} else {
user = prompt("Please enter your name:","");
if (user != "" && user != null) {
setCookie("username", user, 30);
}
}
}
</script>
</head>
<body onload="checkCookie()">
<p id="person">anonymous user</p>
</body>
</html>
'getCookie'永遠不會返回'null'。如果沒有找到cookie,它將返回一個空字符串。 – Barmar
基本調試:你檢查了你的JS控制檯是否有錯誤?代碼中的任何錯誤,整個腳本塊都會死亡。 –