<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"
转载请注明出处:
未经允许不得转载:lxfamn » javascript 获取和设置cookie