Javascript 这是对发布的启用cookies的重复,有人希望我为清晰起见重新提交
可能重复: readCookie位于greetUser函数的正下方。我输入了writeCookie函数,但它会导致警报框不显示。所以我把它注释掉了 这是关于饼干不起作用的。我假设将用户名排序为一个变量,以便iRock记住用户名并在提示中使用它 代码的最后一部分似乎有效,因为我得到了警报框,但我没有得到第一个和第二个警报框。该页面应该在一个警告框中打开,说:你好,我是一个宠物石。但事实并非如此Javascript 这是对发布的启用cookies的重复,有人希望我为清晰起见重新提交,javascript,Javascript,可能重复: readCookie位于greetUser函数的正下方。我输入了writeCookie函数,但它会导致警报框不显示。所以我把它注释掉了 这是关于饼干不起作用的。我假设将用户名排序为一个变量,以便iRock记住用户名并在提示中使用它 代码的最后一部分似乎有效,因为我得到了警报框,但我没有得到第一个和第二个警报框。该页面应该在一个警告框中打开,说:你好,我是一个宠物石。但事实并非如此 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tra
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1 /DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>iRock - The Virtual Pet Rock</title>
<link href="donut_stylesheet/donut.css" rel="stylesheet" type="text/css" />
<script type ="text/javascript">
var userName;
function resizeRock(){
document.getElementById("rockImg").style.height = (document.body.clientHeight - 100) * 0.9;
}
function greetUser(){
userName = readCookie("rock_username");
if(userName)
alert("Hello " + userName + ", I missed you.");
else
alert("Hello, I am your pet rock");
}
function touchRock(){
if(userName)
alert("I like attention," + userName + ". Thank you.");
}
userName = prompt("What is your name?", "Enter name here.");
if(userName)
alert("It is good to meet you, " + userName + ".");
//writeCookie(irock_username", userName, 1 * 365);
document.getElementById("rockImg").src = "rock_happy.png";
setTimeout("document.getElementById(('rockImg').src = 'images/rock.png';", 5 * 60 * 1000);
</script>
</head>
<body onload="resizeRock(); greetUser(); onResize="resizeRock();">
<img id="rockImg" src="images/rock.png" alt="iRock" style="cursor:pointer" onClick="touchRock();" />
</body>
</html>
JavaScript中没有内置的readCookie或writeCookie函数。你必须自己供应
好的阅读:writeCookie和readCookie在哪里定义?另外,在writeCookie行上有一个错误,在onload属性结束后缺少一个。这是作业,我发现我们作业的某些方面与现实世界中发生的不匹配。
function writeCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
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,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}