html5存储状态实例,JavaScript本地存储实践(html5的localStorage和ie的userData)的实例页面...

本文介绍了一种使用JavaScript实现的简单编辑器数据保存方法,该方法能够在浏览器中利用userData对象或localStorage存储编辑器的内容,确保即使用户刷新页面也不会丢失已输入的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS代码:

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');

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值