日期:2014-05-16  浏览次数:20362 次

客户端存储与JavaScript性能优化

客户端存储:

?

  • Cookie
缺点:
每个 cookies的大小不能超过4096字节
一般至多允许每个网站使用20个
一些浏览器要求所有网站总共的cookie数不能超过300个
不能跨浏览器
每次请求都会把数据发送到服务器端
?? ? ? ?
优点:
浏览器支持最全面
和服务器交互方便

  • Flash Share Object
优点:
Key-Value存储方式
默认提供了100k,可向用户申请更大的空间
浏览器支持情况良好
跨浏览器
缺点:
要求浏览器安装Flash插件
Flash Player 6+
必须在页面中加载一个flash,而且得保证flash可以正常工作

  • User Data
特点:
单个页面提供128K 每个domain提供1024K
IE5.5+浏览器支持
不能跨浏览器
只能在相同路径下的不同页面间共享
  • Dom Storage
三种形式
sessionStorage 、localStorage和globalStorage
globalStorage是与localStorage类似的早期实现
sessionStorage 会话结束时就会销毁
localStorage是持久化存储
sessionStorage和localStorage总共提供了10M的存储空间

  • Window.name
Window原生对象的一个属性,所有浏览器都支持
提供了2MB~~60MB的空间
只有在链接跳转时才能传递数据
可以跨页面,跨域
可以在页面的domready事件之前使用
不能够持久化

  • Silverlight
提供了一个IsolatedStorageFile独立存储的API
默认为每个应用提供了1M的空间
跨浏览器
需要安装Silverlight插件
silverlight现在的安装率已经达到了60%

  • Google Gears
基于SQLite
默认为每个应用提供了1M的空间,可向用户申请更大的空间
需要安装GoogleGears插件