关于Javascript中document.cookie的使用(2)

例如在中所创建的cookie,可以被 html/ some/c.html所访问,但不能被访问。

为了控制cookie可以访问的目录,需要使用path参数设置cookie,语法如下:

document.cookie="name=value; path=cookieDir";

其中cookieDir表示可访问cookie的目录。例如:

document.cookie="userId=320; path=https://www.jb51.net/shop";

就表示当前cookie仅能在shop目录下使用。

如果要使cookie在整个网站下可用,可以将cookie_dir指定为根目录,例如:

document.cookie="userId=320; path=https://www.jb51.net/";

指定可访问cookie的主机名 和路径类似,主机名是指同一个域下的不同主机,例如:和gmail.google.com就

是两个不同的主机名。默认情况下,一个主机中创建的cookie在另一个主机下是不能被访问的,但可以通过domain参数来实现对其的控制,其语法格式为:

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

以google为例,要实现跨主机访问,可以写为:

document.cookie="name=value; domain=.google.com";

这样,所有google.com下的主机都可以访问该cookie。

综合示例:构造通用的cookie处理函数 cookie的处理过程比较复杂,并具有一定的相似性。因此可以定义几个函数来完成cookie的通用

操作,从而实现代码的复用。下面列出了常用的cookie操作及其函数实现。

1.添加一个cookie:addCookie(name,value,expireHours) 该函数接收3个参数:cookie名称,cookie值,以及在多少小时后过期。

这里约定expireHours为0时不设定过期时间,即当浏览器关闭时cookie自动消失。该函数实现如下:

<script language="JavaScript" type="text/javascript"> <!-- function addCookie(name,value,expireHours){ var cookieString=name+"="+escape(value); //判断是否设置过期时间 if(expireHours>0){ var date=new Date(); date.setTime(date.getTime+expireHours*3600*1000); cookieString=cookieString+"; expire="+date.toGMTString(); } document.cookie=cookieString; } //--> </script>

2.获取指定名称的cookie值:getCookie(name)

该函数返回名称为name的cookie值,如果不存在则返回空,其实现如下:

<script language="JavaScript" type="text/javascript"> <!-- function getCookie(name){ var strCookie=document.cookie; var arrCookie=strCookie.split("; "); for(var i=0;i<arrCookie.length;i++){ var arr=arrCookie[i].split("="); if(arr[0]==name)return arr[1]; } return ""; } //--> </script>

3.删除指定名称的cookie:deleteCookie(name)

该函数可以删除指定名称的cookie,其实现如下:

<script language="JavaScript" type="text/javascript"> <!-- function deleteCookie(name){ var date=new Date(); date.setTime(date.getTime()-10000); document.cookie=name+"=v; expire="+date.toGMTString(); } //--> </script>

以上所述是小编给大家介绍的关于Javascript中document.cookie的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwswd.html