对于学校工作,我需要使用JavaScript来保存并阅读cookie。设置cookie的代码都很好,我从w3Schools得到它(我知道它显然是一个可怕的指南)。我的问题是使用"路径"使用HTML /记事本。事情还在继续。
当网页加载名为checkcookie的函数时,检查cookie是否存在,如果不存在,则会要求用户输入其名称,然后保存cookie以供日后使用。如果cookie已存在,则会显示问候消息:)。到目前为止,我已经使这些函数适用于您可以在w3schools上访问的示例运行界面事物。但是,我最近尝试使用HTML文档设置它们,并且cookie似乎没有正确保存。我打开一个NotePad文档,粘贴代码,另存为HTML,然后用Google Chrome打开。弹出窗口请求我的名字,我进入,但是当我重新加载时,弹出窗口再次询问我的名字,再次,等等。这是我从以下页面获取功能的页面:http://www.w3schools.com/js/js_cookies.asp
我认为我需要找出Cookie的路径或其他内容,我查看了此网页以获取更多信息http://www.quirksmode.org/js/cookies.html,但我仍然不理解。
为什么这不起作用?我应该设置保存网页的html文档的文件目录的路径吗?为什么它适用于w3schools的TryIt系统,而不适用于原始的HTML文档?
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+"; path=/";
}
function getCookie(cname) {
var title = cname + "=";
var cookie_array = document.cookie.split(';');
for(var i=0; i<cookie_array.length; i++) {
var check = cookie_array[i];
while (check.charAt(0)==' ') check = check.substring(1);
if (check.indexOf(title) != -1) {
return check.substring(title.length, check.length);
}
}
return "";
}
function checkCookie() {
var name=getCookie("name");
if (name != "") {
alert("Welcome again " + name);
} else {
name = prompt("Please enter your name:","");
if (name != null && name != "") {
setCookie("name", name, 30);
}
}
}
答案 0 :(得分:0)
是的,正如jyrkim提到的那样是一个网络服务器的东西