那么,什么是 HTML5 Storage 呢?简单来说,就是一种让 web 页面能够以键值对的形式,在客户端web浏览器中将数据存储在本地的方法。就像 cookie 一样,这种数据在你离开 web 站点、关闭标签页、退出浏览器等等的时候依然保存。不同于 cookie 的地方是,这个数据不会被发送到远程 web 服务器(除非你自己手动发送)。另外,不同于我们前面所说的那些解决方案,这种机制是 web 浏览器原生提供的,所以不需要第三方插件的支持。
那么,什么浏览器才支持呢?目前,几乎所有主流浏览器的最新版本都支持 HTML5 Storage 了,甚至包括 Internet Explorer!
我们可以使用 JavaScript 来访问 HTML5 Storage,通过全局的 window 对象的 localStorage 对象。在我们使用之前,我们需要首先检测是否可用:
function supports_html5_storage() {
try {
return 'localStorage' in window && window['localStorage'] !== null;
} catch (e) {
return false;
}
}
当然,我们也可以使用 Modernizr 检测:
if (Modernizr.localstorage) {
// window.localStorage is available!
} else {
// no native support for HTML5 storage
// maybe try dojox.storage or a third-party solution
}