Js 操作Cookies 代码备份
cookie.js//////////
//<script language="JavaScript">
function Cookie(delim){//操作Cookie类
Array.prototype.splice=function(){
var len=arguments.length,tarray=[],i=arguments[0]+arguments[1];
if(len>1){
while(i<this.length){
tarray[tarray.length]=this[i++];
}
this.length=arguments[0];
if(len>2) {
for(var i=2;i<len;i++){
this[this.length]=arguments;
}
}
var tlen=tarray.length,i=0;
while(i<tlen){
this[this.length]=tarray[i++];
}
}
return this;
}
this._Cookie=[];
//读取Cookies
this.Load=function(){
if(document.cookie.indexOf(";")!=-1){
var _sp,_name,_tp,_tars,_tarslength;
var _item=document.cookie.split("; ");
var _itemlength=_item.length;
while(_itemlength>0){
_sp=_item[--_itemlength].split("=");
_name=_sp[0];
_tp=_sp[1].split(",");
_tars=_tp.slice(1,_tp.length);
this._Cookie[_name]=[];
this._Cookie[_name]=_tars;
this._Cookie[_name]["timeout"]=_tp[0];
}
return true;
}else {
return false;
}
}
//存储Cookies
this.Save=function(){
var _str,_ars,_mars,_marslength,timeout,i,key;
for(key in this._Cookie){
if(!this._Cookie[key])return;
_str=[];
_mars=CookieClass._Cookie[key];
_marslength=_mars.length;
for(i=0;i<_marslength;i++)_str[_str.length]=escape(_mars);
document.cookie=key+"="+_mars["timeout"]+(_str.length>0?",":"")+_str+";expires="+new Date(parseInt(_mars["timeout"])).toGMTString();
}
}
//返回cookie的数量
this.GetCookieCount=function(){
var _length=0,key;
for(key in this._Cookie)_length++;
return _length;
}
//创建Cookies及其时效天数
this.Create=function(name,days){
this._Cookie[name]=[];
this._Cookie[name]["timeout"]=new Date().getTime()+days*86400000;
}
//修改Cookies的时效天数
this.Modify=function(name,days){
this.Create(name,days);
}
//返回指定Cookies的过期时间
this.GetTime=function(name){
return new Date(parseInt(this._Cookie[name]["timeout"]));
}
//删除Cookies及其子项
this.Delete=function(name){
this.Create(name,0);
}
//增加一个子项
this.AddItem=function(name,value){
this._Cookie[name][this._Cookie[name].length]=value;
}
//删除指定的子项
this.DelItem=function(name,index){
this._Cookie[name].splice(index,1);
}
//返回Cookies的子项数量
this.GetCount=function(name){
return this._Cookie[name].length;
}
//返回指定索引的子项
this.GetItem=function(name,index){
return this._Cookie[name][index];
}
}
//</script>
cookie.html//////////////
<script type="text/javascript" src="cookie.js"></script>
<script>
var CookieClass = new Cookie();
//alert("CookieClass="+CookieClass);
alert(CookieClass.Load());
if(!CookieClass.Load()){
alert("loaded");
CookieClass.Create("Pass",1);
CookieClass.Create("User",1);
CookieClass.AddItem("Pass","Ps1");
CookieClass.AddItem("Pass","Ps2");
CookieClass.AddItem("Pass","Ps3");
CookieClass.AddItem("Pass","Ps4");
CookieClass.AddItem("Pass","Ps5");
CookieClass.AddItem("Pass","Ps6");
CookieClass.DelItem("Pass",1);
CookieClass.Save();
}
alert("Cookie过期时间:"+CookieClass.GetTime("Pass").toLocaleString());
alert(document.cookie);
</script>
<script language="Javascript">
/////////////////////////////
function eyunCookie(){
this.key="";//初始化key。
this.value="";//初始化key's value。
this.expires=0;//初始化cookie的有效时间,单位毫秒。
this.init=function(){//对象初始化
this.key="";
this.value="";
this.expires=0;
}
this.set=function(key,value,expires){//设置cookie
if(this.key=="")this.key=key;
if(this.value=="")this.value=value;
if(this.expires<=0)this.expires=expires;
if(this.key==""||typeof(this.key)!="string"){
alert("请先设置欲保存的cookie名称!");
this.init();
return false;
}
if(this.key.match(/[,; ]/)){
alert("cookie名称中不能包含“,”、“;”或空格!");
this.init();
return false;
}
if(this.value.toString().match(/[,; ]/)||typeof(this.value)=="undefined"){
alert("cookie值中不能包含“,”、“;”或空格!");
this.init();
return false;
}
if(this.expires<=0||typeof(this.expires)!="number"){
alert("请先正确设置cookie的有效时间!");
this.init();
return false;
}
var cookie=document.cookie;
if(cookie.indexOf(this.key+"=")!=-1){
if(!confirm("欲保存的cookie名称已经存在,是否要进行替换?")){
this.init();
return false;
}
}
var dt=new Date();
dt.setTime(dt.getTime()+this.expires);
document.cookie=this.key+"="+this.value+";expires="+dt.toGMTString();
this.init();
return true;
}
this.get=function(key){//取得名为key的cookie的值
if(key==""||key.match(/[,; ]/)){
alert("请正确设置欲查找的cookie名称!")
return false;
}
var cookie=document.cookie;
var start=cookie.indexOf(key+"=");
if(start==-1){
alert("欲查找的cookie不存在!")
return false;
}
var end=cookie.indexOf(";",start);
if(end==-1)end=cookie.length;
var getCookie=cookie.substring(start+key.length+1,end);
alert("cookie:"+key+"的值为"+getCookie);
return getCookie;
}
this.showAll=function(){//显示所有cookie
alert("共有以下cookie对:\n"+document.cookie.split(";").toString().replace(/,/g,"\n"));
}
this.del=function(key){//删除名为key的cookie
if(key==""||key.match(/[,; ]/)){
alert("请正确设置欲删除的cookie名称!")
return false;
}
var dt=new Date();
dt.setTime(dt.getTime());
document.cookie=key+"=eyunDelete;expires="+dt.toGMTString();
this.init();
return true;
}
this.destroy=function(){//销毁所有cookie
var dt=new Date();
dt.setTime(dt.getTime());
while(document.cookie!=""){
document.cookie=document.cookie+";expires="+dt.toGMTString();
this.init();
return true;
}
}
}
var cookieTest=new eyunCookie()
function settest(){
cookieTest.key="test"
cookieTest.value="ok"
cookieTest.expires=31536000000
cookieTest.set()
}
</script>
<input type=button onclick=cookieTest.showAll() value=read>
<input type=button onclick="cookieTest.set('a','test',31536000000)" value=setA>
<input type=button onclick="settest();" value=setTest>
<input type=button onclick="cookieTest.destroy()" value=clear>
<input type=button onclick=cookieTest.get("test") value=gettest>
<input type=button onclick=cookieTest.get("a") value=geta>
<input type=button onclick=cookieTest.set("test",1,31536000000) value=resetTest>
<input type=button onclick=cookieTest.del("test") value=delTest>
没有评论:
发表评论