Javascript 功能赢得';t店饼干

Javascript 功能赢得';t店饼干,javascript,html,cookies,Javascript,Html,Cookies,我正在尝试用javascript创建然后检索cookie。我使用的是谷歌浏览器,当我运行下面的代码时,它不会在页面重新加载后存储cookie 下面是我的代码 <html> <title> Cookies </title> <body onload="checkCookie()"> <script type="text/javascript"> function g

我正在尝试用javascript创建然后检索cookie。我使用的是谷歌浏览器,当我运行下面的代码时,它不会在页面重新加载后存储cookie

下面是我的代码

   <html>
       <title> Cookies </title>
         <body onload="checkCookie()">
         <script type="text/javascript">

        function getCookie(c_name){
            var c_value = document.cookie;
            var c_start = c_value.indexOf(" " + c_name + "=");
            if (c_start == -1){
                c_start = c_value.indexOf(c_name + "=");
            }
            if (c_start == -1){
                c_value = null;
            }else{
                c_start = c_value.indexOf("=", c_start) + 1;
                var c_end = c.value.indexOf(";", c_start);

            if (c_end ==-1){
                c_end = c_value.lenth;
            }
            c_value = unescape(c_value.substring(c_start,c_end));
            }
            return c_value;
        }

        function setCookie(c_name,value,exdays){
            var exdate = new Date();
            exdate.setDate(exdate.getDate() + exdays);
            var c_value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
            document.cookie=c_name + "=" + c_value;
        }

        function checkCookie(){
            var username = getCookie("username");
            if(username!=null && username!=""){
                alert("Welcome again " + username);
            }else{
                username=prompt("Please enter your name:","");
                if(username!=null && username!=""){
                    setCookie("username",username,365);
                    document.write(username);
                }


            }
        }

    </script>
<body>

曲奇饼
函数getCookie(c_名称){
var c_value=document.cookie;
var c_start=c_value.indexOf(“+c_name+”=”);
如果(c_开始==-1){
c_start=c_value.indexOf(c_name+“=”);
}
如果(c_开始==-1){
c_值=null;
}否则{
c_start=c_值。indexOf(“=”,c_start)+1;
var c_end=c.value.indexOf(“;”,c_start);
如果(c_end==-1){
c_end=c_值.lenth;
}
c_值=unescape(c_值.子字符串(c_开始,c_结束));
}
返回c_值;
}
函数setCookie(c_名称、值、exdays){
var exdate=新日期();
exdate.setDate(exdate.getDate()+exdays);
var c_value=escape(value)+(exdays==null)?“”:“expires=“+exdate.toutString());
document.cookie=c_name+“=”+c_值;
}
函数checkCookie(){
var username=getCookie(“用户名”);
如果(用户名!=null&&username!=“”){
警报(“再次欢迎”+用户名);
}否则{
用户名=提示(“请输入您的姓名:”,“”);
如果(用户名!=null&&username!=“”){
setCookie(“用户名”,用户名,365);
文件。写入(用户名);
}
}
}


我不知道为什么它不工作,我从这里直接复制/粘贴了它

嗯,这是调试的一个有趣的地方。非常感谢。下次我建议您使用控制台和

第一个相当容易看到的bug是:

c_end = c_value.lenth; //
应该是: 如果使用该代码,您会注意到控制台警报
c未定义。

好的,我们一个接一个地运行函数,当运行
getCookie

好的,检查一下! 应该是: 至于你的另一个问题

setCookie
使用
new date()
表示到期,即立即到期

使用:


享受。

3.中的反恐怖风暴。。2.1.但首先,您是否收到任何错误消息?你验证过代码是否实际执行了吗?问题不在于设置Cookie,你是如何使用它的?@GolezTrol是的,如果你在我刚刚发送给你的链接中转到页面底部,它可以让你自己尝试,并且可以工作there@raam86我正在学习如何使用cookies,你能试着使用它并告诉我它是否适合你吗?所有发生的事情就是出现一个框,上面写着你的名字,然后下次你打开页面时,它会再次打招呼“名字”谢谢,我如何显示控制台,我使用的是升华文本,它是在那还是在浏览器中?它在浏览器中。点击F12,欢迎您来到javascript世界。您的代码正常工作了吗?对我来说,cookie仍然没有被存储。我更新了我问题中的代码,你看到它有什么问题吗?
c_end = c_value.length;//
function getCookie(){
//Weird use if getIndex
//Someone forgot about regex
//..
 c_end = c.value.length; // AHA!!!
}
c_end = c_value.length;
function setCookie(c_name,value,exdays){
            var exdate = exdays;
/....
}