本文来总结下JS的存储方式:
- Flash9.0持久化存储(即Flash共享对象,SO)
- Gears(源于Google)
- H5定义的DOM存储(即localStorage 和sessionStorage)
- IE的userdata行为
- cookie
1. Flash共享对象(SO)的运作模式和HTTP的cookie类似,也是基于域来存储和访问的,从Flash7.0后,Adobe公司就将沙箱保护作为了SO设计的一部分.SO与cookie不一样,它没有4KB的限制,能够存储无限大的东西,当存储的内容不超过100KB时不会做任何提示.
2. Gears的功能很强大,但是这依赖于你的用户使用的是Chrome或安装了Gears插件.这在实际开发中很受限.
3. DOM存储和cookie存储是跨浏览器解决方案.其中sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。