您的位置:首页 > Web前端 > HTML5

【阅读】《head first html5》第九章——在本地存储

2015-08-01 20:47 483 查看
web存储是浏览器中的一个存储库,可是一个API,可是用来从这个本地存储库保存和获取数据
大多数浏览器都为每个源提供了至少5MB的存储空间
Web存储包括本地存储(localStorage)和会话存储(sessionStorage)
本地存储是持久的,即使你关闭浏览器窗口或退出浏览器,本地存储仍然保留
会话存储中的数据项会在你关闭浏览器窗口或退出浏览器时删除。会话存储很适合临时数据项,而不是长期存储
本地存储和会话存储使用完全相同的API
Web存储按源(可以认为是域)来组织。源就是Web上文档的位置(例如一些网站的域名csdn.net)
每个域都有一个单独的存储空间,所以存储在一个源的数据项对另一个源中的Web页面是不可见的(在本地种同一个目录下的相当于同源)
使用localStorage.setItem(key, value)可以向本地存储增加一个值
使用localStorage.getItem(key)可以从本地存储取出一个值
可以使用与关联数组相同的语法在本地存储中设置和获取数据项。可以使用localst[key]来完成
可以使用localStorage.key()方法来列出localStorage中的键(这个我没弄明白,哪有这种方法咯,key()是要有一个参数的)
localStorage.length是一个给定源localStorage中的数据项数
使用浏览器中的控制台(firebug为例,在脚本->监控->localStorage中会列出当前在localStorage的参数)查看和删除localStorage中的数据项
可以从localStorage直接删除数据项,只需右键点击一个数据项,并选择delete(有的浏览器不支持这个)
可以在代码中使用removeItem(key)方法和clear方法删除localStorage中的数据项。注意,clear会删除你完成这个清空操作时,源所在的localStorage中的所有内容。
每个localStorage数据项的键必须是唯一的。如果使用与一个现有数据项相同的键,会覆盖这个数据项的值。
要生成一个唯一的键,一种方法是使用当前时间(自1970年以来的毫秒数),并使用Date对象的getTime()方法
要为你的web应用创建一个适合命名机制,使得即使数据项从本地存储删除,或者如果另一个应用在本地存储中创建了数据项,也能正常工作
web存储目前只支持存储字符串作为对应键的值
可以使用parseInt或parseFloat将localStorage中作为字符串存储的数字转换回真正的数字
如果需要存储更复杂的数据,可以使用javascript对象,在存储之前会使用JSON.stringify把他们转换为字符串,在获取之后会使用JSON.parse再将其转换回对象
本地存储对于移动设备尤其有用,可以用来降低带宽需求。
会话存储类类似于本地存储,只不过浏览器存储库中保存的内容不会持久存储,如果你关闭标签页、窗口或退出浏览器,他们就不复存在。会话存储对于短期存储很有用,如购物会话
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: