你的位置:首页 > 软件开发 > Java > localStorage兼容ie6/7 用addBehavior 实现

localStorage兼容ie6/7 用addBehavior 实现

发布时间:2016-07-12 18:00:10
制作过程我就不说了,程序下面会占出来define(function(){ if(localStorage in window) return; function Storage(){ this.box = document.body || document.getE ...

制作过程我就不说了,程序下面会占出来

define(function(){  if('localStorage' in window) return;  function Storage(){    this.box = document.body || document.getElementByTagName('head')[0] || document.documentElement;    this.name = 'localStorage'    this.data = document.createElement(this.name);    this.data.addBehavior("#default#userData");    this.box.appendChild(this.data);    this.map = [];    this.length = this.length();  }  Storage.prototype.setItem = function(name,val){    if(name=='localStorage-map'){      throw new Error("this is localStorage in key [localStorage-map] not use!")      return ;    }    if(this.map.length==0){      this.data.load('localStorage-map');      var data = this.data.getAttribute('localStorage-map');      if(data!=null){        this.map = data.split(',');      }    }    var flag = true;    for(var i in this.map){      if(this.map[i] == name){        flag = false;      }    }    if(flag){      this.map.push(name)    }    this.data.setAttribute(name,val);    var date = new Date();    date.setDate(date.getDate()+700);    this.data.expires = date.toUTCString();    this.data.save(name);    this.data.setAttribute('localStorage-map',this.map);    this.data.save('localStorage-map');  }  Storage.prototype.getItem = function(name){    if(name == 'localStorage-map'){      throw new Error("this is localStorage in key [localStorage-map] not use!");      return;    }    this.data.load(name);    return this.data.getAttribute(name);  };  Storage.prototype.length = function(){    if(this.map.length==0){      this.data.load('localStorage-map');      var data = this.data.getAttribute('localStorage-map');      if(data!=null){        this.map = data.split(',');      }    }    for (var i = this.map.length - 1; i >= 0; i--) {      alert(this.getItem(this.map[i]))      if(this.getItem(this.map[i])==undefined || this.getItem(this.map[i])==""){        this.map.splice(i,1);      }    }    return this.map.length;  };  Storage.prototype.removeItem = function(name){    if(typeof name=="undefined" || name=="") return;    if(this.map.length==0){      if(this.getItem('localStorage-map')!=null){        this.map = this.getItem('localStorage-map').split(',');      }    }    for(var i in this.map){      if(this.map[i] == name){        this.map.splice(i,1);      }    }    this.data.load(name);    this.data.setAttribute(name,undefined);    this.data.save(name);    return true;  },  Storage.prototype.clear=function(){    if(this.map.length==0){      if(this.getItem('localStorage-map')!=null){        this.map = this.getItem('localStorage-map').split(',');      }    }    for(var i in this.map){      this.removeItem(this.map[i]);    }  }  window.localStorage = new Storage();});

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:localStorage兼容ie6/7 用addBehavior 实现

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。