原生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文档. 常用的全局属性: 全局属性 作 ...
随机推荐
- C语言实现的简单银行存取款程序 请输入如下数字命令
#include <stdio.h> int main(void) { //提供变量 cmd balance(余额) deposit(存款) withdraw(取款) //利用while做 ...
- 【概率论】6-1:大样本介绍(Large Random Samples Introduction)
title: [概率论]6-1:大样本介绍(Large Random Samples Introduction) categories: - Mathematic - Probability keyw ...
- 38、数据源Parquet之使用编程方式加载数据
一.概述 Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0. 列式存 ...
- AtCoder Grand Contest 012题解
传送门 \(A\) 肯定是后面每两个陪最前面一个最优 typedef long long ll; const int N=5e5+5; int a[N],n;ll res; int main(){ s ...
- 在Modelsim波形中查看值
在Modelsim的波形中查看值时,可以利用右键选择变量的数据类型.如果变量值为0,可以选择unsigned类型观察,可以1位显示0. 长度较大的数据以十六进制显示时,即使值为0,也依然显示为长度较长 ...
- Python3正则表达式
正则表达式是一个特殊的字符序列,他能帮助你方便的检查一个字符串是否与某种模式匹配. re.match函数 re.match尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,matc ...
- 什么是amcl
amcl是一种机器人在2D中移动的概率定位系统. 它实现了自适应(或KLD采样)蒙特卡罗定位方法(如Dieter Fox所述),该方法使用粒子滤波器来针对已知地图跟踪机器人的位姿. 参考: https ...
- ubuntu16.04解决文件中文乱码问题
1.查看当前系统使用的字符编码 ~$ locale LANG=en_US LANGUAGE=en_US: LC_CTYPE="en_US" LC_NUMERIC="en_ ...
- 蛋疼的springboot web项目使用jetty容器运行
出现的问题: 今天自己新建了一个maven webapp项目,准备自己看看springboot的东西,搭好的项目是这样的 一切都很正常啊,用run App的方式直接启动 成功啦,本应该到此结束,喝茶吃 ...
- Linux tar: Cannot change ownership to [..]: Permission denied
tar xzf $INPUT_FOLDER/archive.tar.gz --no-same-owner -C /mnt/test-nas/