HTML5本地存储(Local Storage) 的前世今生(二)
原文连接:5.org/storage.html (深入HTML5)
作者:Mark Pilgrim
译者 : feijia (tiimfei@gmail.com)
这篇文章是作者的书HTML5 up & Running的的一个章节,并在线以 CC-BY-3.0 License授权。
这是本文的第二部分,第一部分链接:
深入HTML5: HTML5 本地存储( Local Storage )的前世今生 (一)追踪HTML5 存储区域中的数据变化
除了常用的存取数据的方法,开发者还需要能够侦测数据变化的编程接口。这就是存储事件(storage event )
当 setItem(),removeItem()或者clear() 方法被调用,并且数据真的发生了改变时,storage事件就会被触发。注意这里的的条件是数据真的发生了变化。也就是说,如果当前的存储区域是空的,你再去调用clear()是不会触发事件的。或者你通过setItem()来设置一个与现有值相同的值,事件也是不会触发的。
所有支持localStorage对象的浏览器都支持存储事件,也包括IE8。 不过由于IE8不支持W3C标准的addEventListener (IE9 支持)。因此要在不同浏览器中侦听存储事件,仍然需要一些代码来兼顾浏览器之间事件处理机制的不同。
当然你也可以使用jQuery,Dojo 或者其他Javacript类库来帮你注册事件处理函数,存储事件也是可以支持的。
view plain



