封装localStorage

本文介绍了一个使用JavaScript实现的本地数据存储与清除功能,包括设置、获取和删除数据的方法。
 1 (function(){
 2 window.localData = {
 3         hname:location.hostname?location.hostname:'localStatus',
 4         isLocalStorage:window.localStorage?true:false,
 5         dataDom:null,
 6 
 7         initDom:function(){
 8             if(!this.dataDom){
 9                 try{
10                     this.dataDom = document.createElement('input');
11                     this.dataDom.type = 'hidden';
12                     this.dataDom.style.display = "none";
13                     this.dataDom.addBehavior('#default#userData');
14                     document.body.appendChild(this.dataDom);
15                     var exDate = new Date();
16                     exDate = exDate.getDate()+30;
17                     this.dataDom.expires = exDate.toUTCString();
18                 }catch(ex){
19                     return false;
20                 }
21             }
22             return true;
23         },
24         set:function(key,value){
25             if(this.isLocalStorage){
26                 window.localStorage.setItem(key,value);
27             }else{
28                 if(this.initDom()){
29                     this.dataDom.load(this.hname);
30                     this.dataDom.setAttribute(key,value);
31                     this.dataDom.save(this.hname)
32                 }
33             }
34         },
35         get:function(key){
36             if(this.isLocalStorage){
37                 return window.localStorage.getItem(key);
38             }else{
39                 if(this.initDom()){
40                     this.dataDom.load(this.hname);
41                     return this.dataDom.getAttribute(key);
42                 }
43             }
44         },
45         remove:function(key){
46             if(this.isLocalStorage){
47                 localStorage.removeItem(key);
48             }else{
49                 if(this.initDom()){
50                     this.dataDom.load(this.hname);
51                     this.dataDom.removeAttribute(key);
52                     this.dataDom.save(this.hname)
53                 }
54             }
55         }
56     }
57 
58     var text = document.getElementById('localDataHook');
59     var btn = document.getElementById('clearBtnHook');
60     window.onbeforeunload = function(){
61         localData.set('beiyuuData',text.value);
62     }
63     btn.onclick = function(){localData.remove('beiyuuData');text.value=''};
64     if(localData.get('beiyuuData')){
65         text.value = localData.get('beiyuuData');
66     }
67 })()

 

转载于:https://www.cnblogs.com/huhl/p/3877663.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值