您的位置:首页 > Web前端 > JavaScript

javascript:localStorage的兼容性实现

2016-04-07 10:53 627 查看

localStorage的兼容性实现

locStorage 主要用于实现w3c localstorage的模拟

在ie中使用uerData实现。

主要方法有三个:

保存时间为一年

setItem('key','value');


getItem('key')


removeItem('key'
)

var locStorage = function () {
var UserData = {
userData: null,
name: location.hostname,
//this.name = "css88.com";
init: function () {
if (!UserData.userData) {
try {
UserData.userData = document.createElement('INPUT');
UserData.userData.type = "hidden";
UserData.userData.style.display = "none";
UserData.userData.addBehavior("#default#userData");
document.body.appendChild(UserData.userData);
var expires = new Date();
expires.setDate(expires.getDate() + 365);
UserData.userData.expires = expires.toUTCString();
} catch (e) {
return false;
}
}
return true;
},
setItem: function (key, value) {
if (UserData.init()) {
UserData.userData.load(UserData.name);
UserData.userData.setAttribute(key, value);
UserData.userData.save(UserData.name);
}
},
getItem: function (key) {
if (UserData.init()) {
UserData.userData.load(UserData.name);
return UserData.userData.getAttribute(key)
}
},
removeItem: function (key) {
if (UserData.init()) {
UserData.userData.load(UserData.name);
UserData.userData.removeAttribute(key);
UserData.userData.save(UserData.name);
}

}
};
var _locStorage = null;
if (typeof localStorage == "object") {
_locStorage = localStorage;
} else {
_locStorage = UserData;
}
return {
setItem: function (map, value) {
if (typeof value != "undefined") {
_locStorage.setItem(map, value);
} else if (typeof map === "object") {
for (var i in map) {
_locStorage.setItem(i, map[i]);
}
}
},
getItem: function (key) {
return _locStorage.getItem(key);
},
removeItem: function (keys) {
if (typeof keys == "string") {
keys = [keys];
}
for (var i = 0, len = keys.length; i < len; i++) {
_locStorage.removeItem(keys[i]);
}
}
}
}();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: