深入理解javascript之数据存储
Cookie
限制:1K左右
Cookies只能是字符串,储存空间有限,每次HTTP接受和发送都会传递Cookies数据,它会占用额外的流量
document.cookie = encodeURIComponent(...) & encodeURIComponent(...);
IE 用户数据
限制: 每个文档最多128K
CSS
.userData {
behavior:url(#default#userData)
}
JS
var dataStore = document.getElementById("dataStore");
dataStore.setAttribute("name", "Nicholas");
dataStore.setAttribute("book", "Professional JavaScript");
dataStore.save("BookInfo");
WEB存储机制
限制: 不同浏览器环境可能不同,最小应该也有1M
sessionStorage 绑定与某个服务器会话
sessionStorage.setItem('key', value);
sessionStorage.getItem('key');
sessionStorage.clear()
sessionStorage.key()
sessionStorage.removeItem()
关闭浏览器清除
globalStorage['domain']
针对域名的存储空间,支持子域的数据存储访问
localStorage
对象在修订过的 HTML 5 规范中作为持久保存客户端数据的方案取代了
globalStorage。与 globalStorage 不同,不能给 localStorage 指定任何访问规则;规则事先就
设定好了。要访问同一个 localStorage 对象,页面必须来自同一个域名(子域名无效),使用同一种
协议,在同一个端口上。这相当于 globalStorage[location.host]。
数据保留到通过 JavaScript 删除或者是用户清除浏览器缓存。
IndexedDB
indexedDB很适合存储大量数据,它的API是异步调用的,indexedDB使用索引存储数据,各种数据库操作放在事务中执行
indexedDB支持简单的数据类型,它比localstorage强大,API也相对复杂
IndexedDB将是一个座位API宿主的全局对象,由于API仍然可能有变化,目前浏览器也都使用提供商前缀
var indexedDB = window.indexedDB || window.msIndexedDB || window.mozIndexedDB || window.webkitIndexedDB;
具体如何操作如何使用,后续有单独模块讲解
如果觉得文章对您有用,请点下推荐。您的支持将鼓励我继续创作!