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 })()