H5笔记1-本地存储localStorage
来源:互联网 发布:淘宝关注最多的店铺 编辑:程序博客网 时间:2024/05/17 00:17
localStorage是啥?
在很久很久以前,客户端存储信息用的都是cookie。但是cookie在存储空间上,有一些限制。
随着时代的进步,localStorage诞生了!官方建议是每个域名5MB,就存些字符串,足够了。比较诡异的是居然所有支持的浏览器目前都采用的5MB,尽管有一些浏览器可以让用户设置,但对于网页制作者来说,目前的形势就5MB来考虑是比较妥当的。
注意:localStorage存储的信息,只能是字符串格式的。
如何使用localStorage?
1,判断浏览器是否支持localStorage:
if(window.localStorage){ alert('支持!');}else{ alert('对不起,不支持!');}
2,存储数据的方法:
localStorage.a = 3;//设置a为"3"var a2 = localStorage.a;//获取a的值localStorage["a"] = "sfsf";//设置a为"sfsf",覆盖上面的值var a1 = localStorage["a"];//获取a的值localStorage.setItem("b","isaac");//设置b为"isaac"var b = localStorage.getItem("b");//获取b的值localStorage.removeItem("c");//清除c的值localStorage.clear();//一次性清除所有的键值对//查询某个域名下有哪些keyvar storage = window.localStorage;function showStorage(){ for(var i=0;i<storage.length;i++){ var key = storage.key(i); }}
注意:在iPhone/iPad上有时设置setItem()时会出现诡异的QUOTA_EXCEEDED_ERR错误,这时一般在setItem之前,先removeItem()就ok了。
那么我们的数据存到哪里去了呢?以谷歌浏览器为例,它存储的路径是:
C:\Users\Administrator\AppData\Local\Google\Chrome\UserData\Default\Local Storage;见截图:
通常情况是,每个域名对应一个存储文件,文件大小最大一般为5M.有的浏览器支持扩展空间,有的则直接报错!
HTML5的本地存储,还提供了一个storage事件,可以对键值对的改变进行监听,使用方法如下:
if(window.addEventListener){ window.addEventListener("storage",handle_storage,false); }else if(window.attachEvent){ window.attachEvent("onstorage",handle_storage); }function handle_storage(e){ if(!e){ e=window.event; } //showStorage();}
对于事件变量e,是一个StorageEvent对象,提供了一些实用的属性,可以很好的观察键值对的变化,但是浏览器不同,该对象的属性也会不同。属性举例: key、oldValue、newValue、url/uri。
localStorage与cookie的区别
(1)localStorage的存储容量比cookie更大;
(2)cookie作为http规范的一部分,它的主要作用是与服务器进行交互,使http保持连接状态。也就是说每次你请求一个新的页面的时候,Cookie都会被发送过去,这样也会无形中浪费了带宽;
localStorage仅仅是为了在本地“存储”数据而生;
(3)cookie保存时可以指定能访问该cookie的范围,默认情况下,如果在某个页面创建了一个cookie,那么这个页面所在目录中的其他页面也可以访问这个cookie.如果这个目录下还有子目录,则在子目录中也可以访问。
如果要使cookie在当前整个网站下可用,可以将cookie_dir指定为根目录,例如:document.cookie=”userid=320;path=/”;
localstorage的存储范围就是当前整个网站,不存在指定访问范围这一说。
两者都不支持跨域调用;
html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage。
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
- H5笔记1-本地存储localStorage
- h5本地存储localStorage,sessionStorage
- H5本地存储LocalStorage缺点
- H5永久本地存储:localStorage
- native 嵌套 h5(localstorage) 本地存储问题
- native 嵌套 h5(localstorage) 本地存储问题
- H5本地存储localStorage、sessionStorage使用方法
- h5本地存储的sessionStorage和localStorage
- 利用H5本地存储localStorage、sessionStorage
- H5本地存储sessionStorage和localStorage的区别
- H5本地存储LocalStorage的属性与方法
- H5本地存储sessionStorage和localStorage的区别
- H5 本地存储学习笔记
- H5笔记-本地存储indexedDB
- h5 sessionStorage localStorage存储
- H5 localstorage存储文件
- H5 localStorage 轻量级存储
- ITOO4.1之LocalStorage 本地存储
- hbase配置(基于HA)
- EXT根据数据绘制chart柱状图和饼图,动态改变坐标轴
- 判断一个点在多边形内
- java中的Iterator和Iterable 区别
- 推箱子
- H5笔记1-本地存储localStorage
- 懒加载——网页图片的加载技术
- 如何利用matlab进行频谱分析
- java创建文件和目录
- 程序语言基础知识:Java引用与C指针的区别
- WebStorm2016.1 破解 激活
- String.format()用法
- 冒泡算法
- cookie,session 和AJAX