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

html5的localStorage和ie的userData简答用法,可实现微博未发布文字保留功能。

2011-11-18 17:34 531 查看
var editor = document.getElementById("editor");
editor.value="";
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)
}
},

remove : function(key) {
if(UserData.init()){
UserData.userData.load(UserData.name);
UserData.userData.removeAttribute(key);
UserData.userData.save(UserData.name);
}

}
};

window.onbeforeunload=function(){
if(!window.localStorage){
UserData.setItem('editor-text',editor.value);
}else{
localStorage.setItem('editor-text',editor.value);
}

};
window.onload=function(){
if(!window.localStorage){
if(UserData.getItem('editor-text')==undefined) {
editor.value="";
}else{
editor.value=UserData.getItem('editor-text');
}
}else{
if(localStorage.getItem('editor-text')!=null){
editor.value=localStorage.getItem('editor-text');
}else{
editor.value="";
}
}

};
document.getElementById("save").onclick=function(){
//localStorage.removeItem('text');
if(!window.localStorage){
UserData.remove('editor-text');
}else{
localStorage.removeItem('editor-text');
}
}


原地址:http://www.css88.com/demo/localstorage/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: