IE5 ~IE8的浏览器是如何持久化数据的?
我们都知道,现代浏览器可以用sessonStorage和localStorge持久化数据,那么:
IE5 ~IE8的浏览器是如何持久化数据的- 用userData Behavior
User Data: 是微软为IE专门在系统中开辟的一块存储空间,所以说只支持Windows+IE的组合,实际测试在2000(IE5.5)、XP(IE6、IE7),Vista(IE7)下都是可以正常使用的。在XP下,一般位于C:\Documents and Settings\用户名\UserData,有些时候会在C:\Documents and Settings\用户名\Application Data\Microsoft\Internet Explorer\UserData。
第一步:
or object.style.behavior = "url('#default#userData')"
第二步:
var dataStore = document.getElementById("dataStore"); dataStore.setAttribute("name", "Nicholas"); dataStore.setAttribute("book", "Professional JavaScript"); dataStore.save("BookInfo");
第三步:
关闭浏览器,再打开这个页面,并在这个页面的脚本里:
dataStore.load("BookInfo"); alert(dataStore.getAttribute("name")); //"Nicholas" alert(dataStore.getAttribute("book")); //"Professional JavaScript"
就会把刚刚持久化的数据取出来并打印出来
第四步:如何删除持久化数据
dataStore.removeAttribute("name"); dataStore.removeAttribute("book"); dataStore.save("BookInfo");
第五步:如何设置过期时间:
比如设置1min后过期
var oTimeNow = new Date(); // Start Time oTimeNow.setMinutes(oTimeNow.getMinutes() + 1); var sExpirationDate = oTimeNow.toUTCString(); dataStore.expires = sExpirationDate; dataStore.save("BookInfo");
注意:
持久化的数据时保存在 本机的
要在同一域名下,所谓的同一域名:
比如在下满这个地址的页面中设置了 userData持久化数据
http://localhost:8080/pages/multisituation/test.html
那么在下面这个test2页面中是可以访问到持久化数据的
http://localhost:8080/pages/multisituation/test2.html
但是如果目录不一致,域名不一致,协议不一致的话,就获取不到持久化数据,如下,在multisituation2/test2.html,这个路径下的页面就访问不到multisituation/test.html页面中设置的持久化数据
1.一致兼容到IE10