一个非常实用的javascript读写cookie函数
一个非常实用的javascript读写cookie函数
functiongetcookieval(offset)
//获得cookie解码后的值
{
varendstr=documents.cookie.indexof(";",offset);
if(endstr==-1)
endstr=documents.cookie.length;
returnunescape(documents.cookie.substring(offset,endstr));
}
functionsetcookie(name,value)
//设定cookie值
{
varexpdate=newdate();
varargv=setcookie.arguments;
varargc=setcookie.arguments.length;
varexpires=(argc>2)?argv[2]:null;
varpath=(argc>3)?argv[3]:null;
vardomain=(argc>4)?argv[4]:null;
varsecure=(argc>5)?argv[5]:false;
if(expires!=null)expdate.settime(expdate.gettime()+(expires*1000));
documents.cookie=name+"="+escape(value)+((expires==null)?"":(";expires="+expdate.togmtstring()))
+((path==null)?"":(";path="+path))+((domain==null)?"":(";domain="+domain))
+((secure==true)?";secure":"");
}
functiondelcookie(name)
//删除cookie
{
varexp=newdate();
exp.settime(exp.gettime()-1);
varcval=getcookie(name);
documents.cookie=name+"="+cval+";expires="+exp.togmtstring();
}
functiongetcookie(name)
//获得cookie的原始值
{
vararg=name+"=";
varalen=arg.length;
varclen=documents.cookie.length;
vari=0;
while(i
0){
offset=documents.cookie.indexof(search)
if(offset!=-1){
offset+=search.length
end=documents.cookie.indexof(";",offset);
if(end==-1)
end=documents.cookie.length;
returnvalue=unescape(documents.cookie.substring(offset,end))
}
}
returnreturnvalue;
}
functionhelpor_net(){
if(get_cookie('popped')==''){
openpopup()
documents.cookie="popped=yes"
}
}
helpor_net()
//-->
如果点了确定,只要不清cookie,以后访问都不会再提示,如果不点确定则每次都会提示。放在js文件里,全站包含
1. cookie的兼容性问题
cookie的格式有2个不同的版本,第一个版本,我们称为cookie version 0,是最初由netscape公司制定的,也被几乎所有的浏览器支持。而较新的版本,cookie version 1,则是根据rfc 2109文档制定的。为了确保兼容性,java规定,前面所提到的涉及cookie的操作都是针对旧版本的cookie进行的。而新版本的cookie目前还不被javax.servlet.http.cookie包所支持。
2. cookie的内容
同样的cookie的内容的字符限制针对不同的cookie版本也有不同。在cookie version 0中,某些特殊的字符,例如:空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号都不能作为cookie的内容。这也就是为什么我们在例子中设定cookie的内容为"test_content"的原因。
虽然在cookie version 1规定中放宽了限制,可以使用这些字符,但是考虑到新版本的cookie规范目前仍然没有为所有的浏览器所支持,因而为保险起见,我们应该在cookie的内容中尽量避免使用这些字符
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
本文提供了一组JavaScript函数用于读取、设置和删除cookie,包括兼容性问题和字符限制说明。
409

被折叠的 条评论
为什么被折叠?



