深入理解javascript之数据存储

限制: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;

具体如何操作如何使用,后续有单独模块讲解

posted @ 2020-04-23 14:38  pengsn  阅读(413)  评论(0编辑  收藏  举报