userData,IE中持久化用户数据的方法。

使用userData用户数据首先必须使用css指定userData行为。
代码示例:

 var ud = document.createElement("div");
ud.id = "div_dataStore";//创建元素的结点ID
ud.style.display = "none";
ud.style.behavior = "url('#default#userData')";
document.body.appendChild(ud);

这样之后就可以使用对象ud读写用户数据了。
保存数据setAttribute,获取数据getAttribute,删除removeAttribute
另外还有load和save方法。
save方法会将设置的数据(setAttribute)的数据保存到指定名字的数据仓库中,因此修改数据后都要执行save。
load方法是加载指定名字的数据仓库。因此在使用前(getAttribute前),首先需要把数据存储所在的仓库加载出来。

 //存储数据
ud.setAttribute("name","test_ok");
ud.save("dataStore");//将设置的用户数据存储到指定名字的文件中。
//读取数据
ud.load("dataStore");//加载指定名字的数据文件
alert(ud.getAttribute("name"));//"test_ok"

兼容性:

只有IE支持,而且目前根据IE11的仿真测试了解,IE5~IE8都正常支持,IE9、IE10虽然以上代码均能正常执行,但是取不到存储的数据,得到的仅仅是一个普通的结点Element,IE11就直接抛错了(对象不支持“load”属性或方法),应该开始放弃userdata了。

 
05-07 15:13