js 操作 cookie


1、设置COOKIE数据:

最基本的COOKIE只包括COOKIE名和它的值,语法如下

document.cookie="Cookie_name=Cookie_value"

警告 不要在cookie名或值中使用如分号(;)、逗号(,)或者空格等特殊字符。

但是,假设我们需要保存的名或值有这些符号,怎么办呢?最简单的办法就是使用escape(string)方法,这个方法是用一个字符串参数,把其中的非字母或数字字符转换为等价的数值(16进制),然后在前面加上百分号。

如:document.cookie="book_name="+escape("Special Edition Using JavaScript")

结果为:Special%20Edition%20Using%20JavaScrpit

2、获取COOKIE值:

获取cookie的值要稍微麻烦一点,首先要把cookie属性保存到一个变量:cookie_string=document.cookie 从而得到一个形如 cookie_name=cookie_value 的字符串。然后取等号的索引位置,再使用String对象的substring()方法抽取值,如果值使用了escape()方法编码,还要用 unescape() 进行解码。cookie_string=unescape(document.cookie)

(注:大哥大姐,看文章时别忘记关注我哟,嘿嘿)
3、处理多个COOKIE:

定义多个COOKIE documet.cookie="name1=value1; name2=value2" 每个cookie之间用分号和一个空格分开

处理用 split() 方法,如: var cookie_array = document.cookie.split(";")

即 cookie_arrar[0]和[1]各为上面的COOKIE字符串。

4、终止日期:

var days=30;

var expire_date=new Date();

var ms_from_now=days*24*60*60*1000;

expire_date.setTime(expire_date.getTime()+ms_from_now);

var expire_string=expire_date.toGMTString();//转为GMT格式的String

document.cookie="count_cookie=visit_number; expires="+expire_string;

5、其他参数:

document.cookie="name=value; path=cookie_dir";//指定访问的目录,所有页面访问,则把path设为根目录(/)。

参数domain用于指定站点上可以访问cookie的主机名,如果没有指定,则默认为站点所在的WEB服务器的主机名。如果服务器只有一个主机名,则不需要考虑这个参数。如:domain=.domain.com

secure, 这是一个boolean值。如果为真,则该cookie只发往使用HTTPS(安全)协议连接的浏览器;如果为假(或忽略)则发给所有的浏览器,即使使用了不安全的HTTP协议。如:document.cookie="name1=value1; true"。





var Asresult = eval('('+XMLHR.responseText+')');
var browsePh = '';
var firstPhoto = '';
for(var i=0;i<Asresult.length;i++)
{
var BrowseName = Asresult[i];
browsePh += '<img src= d:\\upload\\'+albumidBrowse+'\\'+BrowseName + ' width="80" height="50" rel='+'d:\\upload\\'+albumidBrowse+'\\'+ BrowseName +'
name="#" />';
if(i==0)
{
firstPhoto = '<img src= d:\\upload\\'+albumidBrowse+'\\'+BrowseName + ' width="640" height="400" id="mainphoto"
rel='+'d:\\upload\\'+albumidBrowse+'\\'+ BrowseName +' name="#" />';
document.cookie = "firstPhoto="+firstPhoto;
}
}
//获取当前路径
a=self.location.toString();
var b="";
for(i=0;i<a.split("/").length-2 ;i++)
{
b=b+a.split("/")[i].toString()+"/";
}
var pt = b+'album/'+'browsePhoto.jsp';
document.cookie = "browsePh="+browsePh;
window.info.location = b+'album/'+'browsePhoto.jsp';


<iframe name="info" src="" scrolling="auto" frameborder="0" width="100%" height="500"></iframe>


<%
String browsePh = "";
String firstPhoto = "";
Cookie[] cookies = request.getCookies();
if(cookies!=null)
{
for (int i = 0; i < cookies.length; i++)
{
Cookie c = cookies[i];
if(c.getName().equalsIgnoreCase("browsePh"))
{
browsePh = c.getValue();
System.out.println("browsePh = "+browsePh);
}
if(c.getName().equalsIgnoreCase("firstPhoto"))
{
firstPhoto = c.getValue();
System.out.println("firstPhoto = "+browsePh);
}
c.setMaxAge(-1);
}
}
%>
<div id="tbody">

<div id="mainbody">
<%=firstPhoto %>
</div>

......


如果不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览器会话期的cookie被称为会话cookie。会话cookie一般不存储在
硬盘上而是保存在内存里,当然这种行为并不是规范规定的。如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。


String MpCookie = "";
Cookie[] cookies = request.getCookies();
if(cookies!=null)
{
for (int i = 0; i < cookies.length; i++)
{
Cookie c = cookies[i];
if(c.getName().equalsIgnoreCase("MpCookie"))
{
//decodeURIComponent
MpCookie = c.getValue();
System.out.println("*******************MpCookie = "+MpCookie);
}
c.setMaxAge(-1);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值