原生JavaScript常用本地浏览器存储方法五(LocalStorage+userData的一个浏览器兼容类)
基于LocalStorage+globalStorage+userData实现的一个本地存储类
userData用来兼容ie6 ie7
由userData模仿Session的方法:浏览器关闭删除保存的记录
var userStorage = {
isIE : null,
Local : function(){
if(document.all){
var oUserData;
if(!userStorage.isIE){
userStorage.isIE =(function(){
oUserData = document.body;
oUserData.addBehavior("#default#userdata");
})();
}
return {
set : function(key,value){
oUserData.setAttribute(key,value);
oUserData.save("UserData");
},
get : function(key){
oUserData.load("UserData");
return oUserData.getAttribute(key);
},
del : function(key){
oUserData.load("UserData");
oUserData.removeAttribute(key);
oUserData.save("UserData");
}
}
}else{
var localStorage = window.localStorage;
return {
set : function(key,value){
localStorage.setItem(key,value);
},
get : function(key){
return localStorage.getItem(key);
},
del : function(key){
localStorage.removeItem(key);
}
}
}
},
Session : function(){
if(document.all){
var oUserData;
if(!userStorage.isIE){
userStorage.isIE =(function(){
oUserData = document.body;
oUserData.addBehavior("#default#userdata");
})();
}
return {
set : function(key,value){
oUserData.setAttribute(key,value);
oUserData.save("UserData");
window.attachEvent('onbeforeunload', function(event){
if(event.clientX <= 0 || event.clientY <=0){
oUserData.load("UserData");
oUserData.removeAttribute(key);
oUserData.save("UserData");
}
});
},
get : function(key){
oUserData.load("UserData");
return oUserData.getAttribute(key);
},
del : function(key){
oUserData.load("UserData");
oUserData.removeAttribute(key);
oUserData.save("UserData");
}
}
}else{
var sessionStorage = window.sessionStorage;
return {
set : function(key,value){
sessionStorage.setItem(key,value);
},
get : function(key){
return sessionStorage.getItem(key);
},
del : function(key){
sessionStorage.removeItem(key);
}
}
}
},
closeWindow : function(){
}
}
var Local = new userStorage.Local();
Local.set("name","dtdxrk");
alert(Local.get("name"));
Local.del("name");
var Session = new userStorage.Session();
Session.set("age","30");
alert(Session.get("age"));
Session.del("age");
原生JavaScript常用本地浏览器存储方法五(LocalStorage+userData的一个浏览器兼容类)的更多相关文章
- 原生JavaScript常用本地浏览器存储方法一(方法类型)
有时需要将网页中的一些数据保存在浏览器端.好处就是当下次访问页面时,直接就可以从本地读取数据,不需要再次向服务器请求数据.目前常用的有以下几种方法: 1.cookie cookie会随着每次HTTP请 ...
- 原生JavaScript常用本地浏览器存储方法四(HTML5 LocalStorage sessionStorage)
HTML5 LocalStorage浏览器的支持的情况如上图,IE在8.0的时候就支持了.不过需要注意的是,IE测试的时候需要服务器环境(或者localhost). 测试自然是检测浏览器是否支持本地存 ...
- 原生JavaScript常用本地浏览器存储方法二(cookie)
JavsScript Cookie概述 cookie是浏览器提供的一种机制,它将document对象的cookie属性提供给JavaScript.可以由JavaScript对其进行控制,而并不是Jav ...
- 原生JavaScript常用本地浏览器存储方法三(UserData IE Only)
UserData的应用范围 serData是微软为IE专门在系统中开辟的一块存储空间,所以说只支持Windows+IE的组合,实际测试在2000(IE5.5).XP(IE6.IE7),Vista(IE ...
- 原生javascript实现类似jquery on方法的行为监听
原生javascript有addEventListener和attachEvent方法来注册事件,但有时候我们需要判断某一行为甚至某一函数是否被执行了,并且能够获取前一行为的参数,这个时候就需要其他方 ...
- 原生JavaScript常用的DOM操作
之前项目一直都是用JQuery或者Vue来做的,确实好用,毕竟帮我们解决了很多浏览器兼容问题,但是后面发现大公司面试题都是要原生Javascript来做,然后我就一脸懵逼哈哈哈,毕竟大公司需要的框架或 ...
- 浏览器存储(cookie、localStorage、sessionStorage)
互联网早期浏览器是没有状态维护,这个就导致一个问题就是服务器不知道浏览器的状态,无法判断是否是同一个浏览器.这样用户登录.购物车功能都无法实现,Lou Montulli在1994年引入到web中最终纳 ...
- MUI常用脚本及原生JavaScript常用操作元素方法
1.mui元素转换html元素 var obj=mui("#id")[0]; 2.事件绑定 var btn = document.getElementById("logi ...
- JavaScript常用全局属性与方法
最近,在学习JavaScript,Java作域链包含全局,记录下常用的全局属性与方法,就当是知识的积累,未列出全部,如需查看全部可参考JS相关的API文档. 常用的全局属性: 全局属性 作 ...
随机推荐
- SPA项目开发--表单验证、增删改
1. 表单验证 Form组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则, 并将Form-Item的prop属性设置为需校验的字段名即可 <el-form- ...
- HTML插入音频和视频:audio和video标签及其属性
一.上传到第三方网站,然后引入例如视频上传到优酷网,然后得到代码 <iframe height=498 width=510 src='http://player.youku.com/embed/ ...
- Linux工具[转]
ref: https://github.com/linw7/Skill-Tree/blob/master/Linux%E5%B7%A5%E5%85%B7.md Linux工具 Linux下还是有很多超 ...
- 40、JSON数据源综合案例实战
一.JSON数据源综合案例实战 1.概述 Spark SQL可以自动推断JSON文件的元数据,并且加载其数据,创建一个DataFrame.可以使用SQLContext.read.json()方法,针对 ...
- AtCoder Grand Contest 021题解
传送门 \(A\) 咕咕 ll n,res;bool fl; int main(){ scanf("%lld",&n),fl=1; while(n>9)res+=9, ...
- 《挑战30天C++入门极限》图例实解:C++中类的继承特性
图例实解:C++中类的继承特性 整个c++程序设计全面围绕面向对象的方式进行,类的继承特性是c++的一个非常非常重要的机制,继承特性可以使一个新类获得其父类的操作和数据结构,程序员只需在新类中 ...
- PHP var_dump() 函数
var_dump() 函数用于输出变量的相关信息 <?php $b = 3.1; $c = true; var_dump($b, $c); ?> 输出 float(3.1) bool(tr ...
- [luogu 5024] 保卫王国
Problem Here Solution 这大概是一篇重复累赘的blog吧. 最小权覆盖集=全集-最大权独立集 强制取或不取,可以通过将权值修改成inf或者-inf 然后就用动态dp的套路就行了 动 ...
- web 安全登录算法
摘自:http://hi.baidu.com/weiqi228/blog/item/922e961bbcc2c0188618bfb5.html 对于 Web 应用程序,安全登录是很重要的.但是目前大多 ...
- 容易被忽视的python装饰器的特性
今天发现了装饰器的另一种用法,下面就先上代码: data_list = [] def data_item(func): data_list.append(func) return func @data ...