【js学习笔记-105】----利用IE userData持久化数据
来源:互联网 发布:公司注册淘宝 编辑:程序博客网 时间:2024/05/29 21:34
客户端存储---利用IE userData持久化数据
IE5及以上版本的浏览器是通过document元素后面附加一个专属“DHTML行为”来实现客户存储的。
如下:
var memory = document.createElement(“div”);
memory.id = “_memory”;
memory.style.display = “none”;
memory.style.behavior = “url(‘#default#userData’)”;//附加userData行为
document.body.appendChild(memory); //将其添加到document元素中。
一旦给元素赋予了“userData“行为,该元素就拥有load()和save()方法。load()方法用于载入存储的数据。使用它的时候必须传递一个字符串作为参数----类似于一个文件名,该参数用来指定要载入的存储数据。当数据载入后,就可以通过该元素的属性来访问这些名、值对形式的数据,可以使用getAttribute()来查询这些数据。通过setAttribute()方法来设置属性,然后调用save()方法可以存储新的数据;removeAttribute()方法删除数据然后调用save()方法再保存一下。
memory.load(“myStoreData”);
var name =memory.getAttribute(“username”);
if(!name){
name = prompt(“What is your name?”);
memory.setAttribute(“ username”,name);
memory.save(“myStoreData”);
}
默认情况下,通过userData存储的数据,除非拖动删除否则永不失效。但是,也可以通过设置expires属性来指定过期时间。如下
var now = (newDate()).getTime();
var expires =now+100*24*60*60*1000; //距离当前100天,把天数换算成毫秒
expires = new Date(expires).toUTCString();
memory.expires = expires;
例:基于IE的userData实现部分存储API
function userDataStroage(maxage){
创建document元素并附加userData行为
var memory = document.createElement(“div”);
memory.id= “_memory”;
memory.style.display= “none”;
memory.style.behavior= “url(‘#default#userData’)”; //附加userData行为
document.body.appendChild(memory);//将其添加到document元素中。
if(maxage){
var now = new Date().getTime();
var expires = now+maxage*1000;
memory.expires = new Date(expires).toUTCString();
}
memory.load(“UserDataStorage”);
this.getItem= function(key){
return memory.getAttribute(key)|| null;
};
this.setItem = function(key,value){
memory.setAttribute(key,value);
memory.save(“UserDataStorage”);
}
this.removeItem = function(key){
memory.removeAttribute(key);
memory.save(“UserDataStorage”);
}
}
引用时
<!--if IE-->
<script type=”text/javascript” src=”UserDataStorage.js”></script>
<!--endif-->
- 【js学习笔记-105】----利用IE userData持久化数据
- ios学习笔记----数据持久化
- 10.lua学习笔记:数据持久化
- iOS学习笔记-数据持久化
- ios学习笔记:ios数据持久化
- Android学习笔记数据持久化存储
- 利用userData实现客户端保存表单数据
- 利用userData实现客户端保存表单数据
- 利用userData实现客户端保存表单数据
- 利用userData实现客户端保存表单数据
- 利用userData实现客户端保存表单数据
- 利用userData实现客户端保存数据
- Cocos2d-JS 数据持久化
- js实现数据持久化
- js操作userData保存临时数据
- ios学习笔记 (4)数据持久化
- iOS学习笔记05—数据持久化
- Lua学习笔记(七) —— 数据持久化
- --------------------FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT用法
- java反射机制详解 及 Method.invoke解释
- Java Native Interface Specification—Contents
- Apache cxf rs
- codeigniter自带数据库类使用方法说明
- 【js学习笔记-105】----利用IE userData持久化数据
- 我的错误笔记
- Navicat for Oracle
- 浏览器多标签,Http协议和底层socket的情况
- OpenCV中resize函数五种插值算法的实现过程
- Android android下的电话拨号器
- 武汉JAVA/android培训最优选择--传智播客武汉分校!
- java中的集合框架Collection 接口 Map接口的问题
- The DNS I know