用cookie实现localstorage功能

时间:2023-03-08 20:49:41

在项目中需要利用到html5的localstorage。但在利用这个属性的时候却发现无法达到预定目标。经过不断的检查及排除,最后发现原因所在:

项目中使用的浏览器是支持localstorage的,但是却无法使用,具体原因未知(推测可能需要对浏览器的环境变量进行相关配置才能直接使用,但我对此无能为力)。

最后,通过上网查询,发现可以使用cookie实现localstorage的功能(当然数据保存是有期限的),代码如下:

<script  type="text/javascript">

//创建localStorage1
var localStorage1Class = function(){
this.options = {
expires : **,
}
}
localStorage1Class.prototype = {
//初实化。添加过期时间
init:function(){
var date = new Date();
date.setTime(date.getTime() + **);
this.setItem('expires',date.toGMTString());
},
//内部函数参数说明(key) 检查key是否存在
findItem:function(key){
var bool = document.cookie.indexOf(key);
if( bool < ){
return true;
}else{
return false;
}
},
//得到元素值 获取元素值 若不存在则返回 null
getItem:function(key){
var i = this.findItem(key);
if(!i){
var array = document.cookie.split(';')
for(var j=;j<array.length;j++){
var arraySplit = array[j];
if(arraySplit.indexOf(key) > -){
var getValue = array[j].split('=');
//将 getValue[0] trim删除两端空格
getValue[] = getValue[].replace(/^\s\s*/, '').replace(/\s\s*$/, '')
if(getValue[]==key){
return getValue[];
}else{
return 'null';
}
}
}
}
},
//重新设置元素
setItem:function(key,value){
var i = this.findItem(key)
document.cookie=key+'='+value;
},
//清除所有cookie 参数
remove:function(){
var array = document.cookie.split(';')
for(var cl = ;cl<array.length;cl++){
var date = new Date();
date.setTime(date.getTime() - );
document.cookie =array[cl] +"=a; expires=" + date.toGMTString();
}
}
}
var localStorage1 = new localStorage1Class();
localStorage1.init();
</script>

转载:http://blog.****.net/xiaosong521/article/details/7733424