Javascript实现基于cookie的存储类实例。

本文演示了基于cookie的存储类的Javascript实现,供大家参考,具体分析如下:

使用这个js类,您可以使用类似cookie的会话,非常简单!


*
* CookieStorage.js
*这类实现相同的存储API为localStorage和sessionStorage
*区别在于它是基于HTTP cookie的。
* /
函数的CookieStorage(MAXAGE路径){
这两个参数表示有效的周期和范围。
获取所有cookie对象的存储
var =(函数(){())
前 / / GetCookies函数类型介绍
var cookie { };
该对象最终将返回
所有变量= document.cookie;
以字符串的形式获取cookie的所有信息
如果(all = )
/ /如果属性是空白
返回的饼干;
返回一个空对象
var list = all.split(;);
/著名的/值对分离
对于(var i = 0;i < list.length;i++){
每个cookie /遍历
var;
var p = cookie.indexof(=);
找到第一个=符号
变量名= cookie.substring(0,p);
获取cookie的名称
VaR值= cookie.substring(P + 1);
获取cookie的对应值
价值= decodeuricomponent(价值);

cookie {名称}值;
存储在对象中的名称值对
}
返回的饼干;
}();
所有存储阵列的cookie名称
var键= };
对于(饼干VAR键)keys.push(关键);
现在定义公共API的存储属性和方法
cookie存储的数量
this.length = keys.length;
返回n个cookie名称,如果越界,则返回null。
this.key =功能(N){
如果(=键,长度)返回null;
返回键{ };
};
如果没有返回null,则返回指定的名称 cookie / cookie值。
this.getitem =函数(名){
{姓名}返回空| |饼干;
};
cookie存储的值
this.setitem =功能(键,值){
如果(!(cookie中的键){
如果您想为cookie做出贡献,则不存在
Keys.push(重点);
将指定的名称添加到数组存储的所有cookie中。
这个长度+ +;
cookie的数量
}
存储在cookie对象中的数据的名称/值。
cookie {键} =值;
/以正式设置cookie。
第一个将存储cookie 值编码。
同时,在编码字符串形式之后创建一个名称=值
var cookie =键+=+ encodeURIComponent(价值);
cookie的属性也将加入字符串。
如果(MAXAGE)饼干+ MAXAGE + =最大年龄=;;
如果(路径)cookie +路径=;
通过设置document.cookie / / Cookie属性
document.cookie =饼干;
};
删除cookie
this.removeitem =功能(关键){
如果(!(cookie中的键))返回;
如果cookie不存在,则不执行
从内部维护组cookie cookie中删除指定的
删除cookie {键};
同时,在内部数组中也删除了cookie名称。
/ /如果使用数组索引ES5的定义()方法更简单。
对于(var i = 0;i < keys.length;i++){
遍历所有名称
如果(键{ } =键){
当我们发现/发现
Keys.splice(I,1);
将从数组中删除它。
打破;
}
}
this.length--;
cookie的数量
最后一个值被设置为空字符串。
将有效设置为0以删除指定的cookie。
document.cookie =键+=;最大年龄= 0 ;
};
删除所有cookie
this.clear =函数(){
所有cookie的名称,并删除cookie
对于(var i = 0;i < keys.length;i++)
document.cookie =键{我} +=;最大年龄= 0 ;
重新设置所有内部状态
Cookie = };
键= };
this.length = 0;
};
}


希望本文能对大家的javascript程序设计有所帮助。