有时需要将网页中的一些数据保存在浏览器端。好处就是当下次访问页面时,直接就可以从本地读取数据,不需要再次向服务器请求数据。目前常用的有以下几种方法:
1.cookie
cookie会随着每次HTTP请求头信息一起发送,无形中增加了网络流量,另外,cookie能存储的数据容量有限,根据浏览器类型不同而不同,IE6大约只能存储2K。
2.Flash ShareObject
这种方式能能解决上面提到的cookie存储的两个弊端,而且能够跨浏览器,应该说是目前最好的本地存
储方案。不过,需要在页面中插入一个Flash,当浏览器没有安装Flash控件时就不能用了。所幸的是,
没有安装Flash的用户极少。
缺点:需要安装Flash插件。
3.Google Gear
Google开发出的一种本地存储技术。
缺点:需要安装Google Gear组件。
4.userData
IE浏览器可以使用userData来存储数据,容量可达到640K,这种方案是很可靠的,不需要安装额外的插
件。
缺点:它仅在IE下有效。
5.sessionStorage
使用于Firefox2+的火狐浏览器,用这种方式存储的数据仅窗口级别有效,同一个窗口(或者Tab)页面
刷新或者跳转,都能获取到本地存储的数据,当新开窗口或者页面时,原来的数据就失效了。
缺点:IE不支持、不能实现数据的持久保存。
6.globalStorage
使用于Firefox2+的火狐浏览器,类似于IE的userData。
缺点:IE不支持。
7.localStorage
html5的localStorage是Web Storage互联网存储规范中的一部分,现在在Firefox 3.5、Safari 4和IE8
中得到支持。
缺点:低版本浏览器(ie6 ie7)不支持。
结合以上的这些方法我们发现,兼容最好的应该是cookie,但是容量太小了。我们可以自己封装一个方法来实现浏览器兼容。
原生JavaScript常用本地浏览器存储方法二(cookie)
原生JavaScript常用本地浏览器存储方法二(localStorage+userData的封装)