localStorage和userdata,兼容的本地持久化存储
花了半天时间,在JSFunction中新加入了一个函数,localData,用于完成本地持久化存储。–北北
Demo示例请参见这里–JSFunction/LocalData
众所周知,localStorage是HTML5属性,对于低版本的IE浏览器支持并不是很好,而userdata是window+IE组合的存储解决方案,我们来整合这两者,以达到互补。
localStorage与cookie的区别,cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。
userData
语法:
XML
<Prefix: CustomTag ID=sID STYLE=”behavior:url(‘#default#userData’)” />
HTML
<ELEMENT STYLE=”behavior:url(‘#default#userData’)” ID=sID>
Script
object.style.behavior = “url(‘#default#userData’)”
object.addBehavior (“#default#userData”)
属性:
expires 设置或者获取 userData behavior 保存数据的失效日期。
XMLDocument 获取 XML 的引用。
方法:
getAttribute() 获取指定的属性值。
load(object) 从 userData 存储区载入存储的对象数据。
removeAttribute() 移除对象的指定属性。
save(object) 将对象数据存储到一个 userData 存储区。
setAttribute() 设置指定的属性值。
localStorage
方法:
localStorage.getItem(key):获取指定key本地存储的值
localStorage.setItem(key,value):将value存储到key字段
localStorage.removeItem(key):删除指定key本地存储的值
localStorage.clear():删除所有本地存储的值