点击这里给我发消息 点击这里给我发消息

HTML5 Storage 变化追踪

添加时间:2013-12-6
    相关阅读: HTML JavaScript
如果你需要以编程方式跟踪存储区域的改变,你需要使用 storage 事件。storage 事件在 window 对象调用 setItem()、removeItem() 或者 clear(),并且的确有东西改变的时候会被派发。例如,如果你设置一个已存在的值,或者在一个空的存储区域调用 clear() 函数,因为没有任何动作,所以就不会触发 storage 事件。

只要支持 localStorage 对象的地方都会支持storage 事件,包括 IE8。IE 8 不支持 W3C 的标准的  addEventListener(事实上这一函数在 IE 9 才被加入)。因此,为了监听 storage 事件,你需要检测浏览器支持哪种事件机制(如果你了解这个内容,就可以跳过这部分了。处理 storage 事件同其他时间一样。如果你使用 jQuery 或者其他 JavaScript 库的事件处理函数,那么你也可以这么处理 storage 事件。)

if (window.addEventListener) {
    window.addEventListener("storage", handle_storage, false);
} else {
    window.attachEvent("onstorage", handle_storage);
};handle_storage 回调函数接受一个 StorageEvent 参数。在 Internet Explorer 中,event 对象则存在 window.event 里面。

function handle_storage(e) {
    if (!e) { e = window.event; }
}

此时,变量 e 就是一个 StorageEvent 对象。这个对象有很多有用的属性。

 

storage 事件不能取消。在 handle_storage 回调函数中,没有方法能够终止事件。浏览器只会简单地告诉你,“就是发生了!你现在什么也干不了了!我只是告诉你,它就是发生了。”

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册