Chrome无法在没有服务器的情况下设置Cookie

时间:2012-12-10 12:42:58

标签: javascript html google-chrome

我在不使用服务器的情况下创建了一个小项目。在那里我设置cookie以追溯值。如果我在FF,Safari,IE 9中运行这个项目它可以正常设置cookie并重新启动cookie但是在chrome 23.0中它没有设置cookie。

    <script>
       window.onbeforeunload=function(){
            document.cookie = "sample" + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
        }
        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 getCookie(c_name)
        {
            var i,x,y,ARRcookies=document.cookie.split(";");
            for (i=0;i<ARRcookies.length;i++)
            {
                x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
                y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
                x=x.replace(/^\s+|\s+$/g,"");
                if (x==c_name)
                {
                    return unescape(y);
                }
            }
        }
        setCookie("sample","samplename",365);
        alert(getCookie("sample"));
    </script>

在FF,Safari,IE 9中,它显示了cookie值“samplename”但是在chrome 23.0中它显示“undefined”。如果我使用服务器,那么chrome设置cookie。如何在不使用服务器的情况下在chrome中设置cookie。提前致谢

1 个答案:

答案 0 :(得分:4)

Chrome似乎忽略了本地文件的Cookie, 如果您使用像xammp这样的本地服务器,它会工作 用127.0.0.1浏览它

或者从命令行

开始使用--enable-file-cookies标志启动chrome

您可以获得有关此SO question

的更多信息

或此discussion