javascript 获取和设置cookie

    <script>
//添加cookie
        var addCookie = function (name, value, time) {
            // var strSec = getSec(time);
            var exp = new Date();
            exp.setTime(exp.getTime() + time * 1);
            //设置cookie的名称、值、失效时间
            document.cookie = name + "=" + value + ";expires="+ exp.toGMTString()+ ";path=/;" ;
        }
        //取得cookie值
        function getCookie(name){
            var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
            if(arr=document.cookie.match(reg)){
                return unescape(arr[2]);
            }else{
                return null;
            }
        }
    </script>

Cookie 的路径以及 Cookie 域

cookie 路径

cookie 一般都是由于用户访问页面而被创建的,可是并不是只有在创建 cookie 的页面才可以访问这个cookie。在默认情况下,出于安全方面的考虑,只有与创建 cookie 的页面处于同一个目录或在创建cookie页面的子目录下的网页才可以访问。那么此时如果希望其父级或者整个网页都能够使用cookie,就需要进行路径的设置。

让这个设置的cookie 能被其他目录或者父级的目录访问的方法:

document.cookie = "userName = 独行冰海; path=/";

Cookie 域

路径能解决在同一个域下访问 cookie 的问题,那么如何解决同一个主域下的访问问题呢?我们可以通过指定可访问cookie的主机名来进行设置。

document.cookie="name=value; domain=cookieDomain";

例如 "www.baidu.com" 与 "mp3.baidu.com" 公用一个关联的域名"baidu.com",我们如果想让 "www.baidu.com" 下的cookie被 "mp3.baidu.com" 访问,我们就需要用到 cookie 的domain属性,并且需要把path属性设置为 "/"

这里需要注意一点:一定的是同域之间的访问,不能把domain的值设置成非主域的域名。

默认cookie的域是当前域名,默认的路径的设置cookie时的当前页面的目录路径。如果想要跨域或者在其他的路径下访问cookie就必须要重新设置这两个属性,domain和path。

www.baidu.com/content/example/3.jsp 则域domain为www.baidu.com, 路径path为/content/example

document.cookie = "username=独行冰海; path=/; domain=baidu.com"

转载请注明出处:

转载自http://lxfamn.cn/blog

未经允许不得转载:lxfamn » javascript 获取和设置cookie

赞 (0) 打赏

置顶推荐

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏