专业提供网站建设服务,收录软件最多的网站,销售策略和营销策略,现在企业做门户网站html5中的Web Storage包括了两种存储方式#xff1a;sessionStorage和localStorage。sessionStorage用于本地存储一个会话#xff08;session#xff09;中的数据#xff0c;这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁因此sessionStorage不是…html5中的Web Storage包括了两种存储方式sessionStorage和localStorage。sessionStorage用于本地存储一个会话session中的数据这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁 因此sessionStorage不是一种持久化的本地存储仅仅是会话级别的存储。而localStorage用于持久化的本地存储除非主动删除数据否则数据是永远不会过期的。一、web storage和cookie的区别Web Storage的概念和cookie相似区别是它是为了更大容量存储设计的。Cookie的大小是受限的并且每次你请求一个新的页面的时候Cookie都会被发送过去这样无形中浪费了带宽另外cookie还需要指定作用域不可以跨域调用。除此之外Web Storage拥有setItem,getItem,removeItem,clear等方法不像cookie需要前端开发者自己封装setCookiegetCookie。但是Cookie也是不可以或缺的Cookie的作用是与服务器进行交互作为HTTP规范的一部分而存在 而Web Storage仅仅是为了在本地“存储”数据而生来自otakustay 的纠正二、html5 web storage的浏览器支持情况浏览器的支持除了IE及以下不支持外其他标准浏览器都完全支持(ie及FF需在web服务器里运行)值得一提的是IE总是办好事例如IE7、IE6中的UserData其实就是javascript本地存储的解决方案。通过简单的代码封装可以统一到所有的浏览器都支持web storage。要判断浏览器是否支持localStorage可以使用下面的代码 复制代码 代码如下: if(window.localStorage){alert(浏览支持localStorage) }else{ alert(浏览暂不支持localStorage) } //或者 if(typeof window.localStorage undefined){ alert(浏览暂不支持localStorage) } 三、localStorage和sessionStorage操作localStorage和sessionStorage都具有相同的操作方法例如setItem、getItem和removeItem等localStorage和sessionStorage的方法setItem存储value用途将value存储到key字段用法.setItem( key, value)代码示例 复制代码 代码如下: sessionStorage.setItem(key, value);localStorage.setItem(site, js8.in); getItem获取value用途获取指定key本地存储的值用法.getItem(key)代码示例 复制代码 代码如下: var value sessionStorage.getItem(key); var site localStorage.getItem(site); removeItem删除key用途删除指定key本地存储的值用法.removeItem(key)代码示例 复制代码 代码如下: sessionStorage.removeItem(key); localStorage.removeItem(site); clear清除所有的key/value用途清除所有的key/value用法.clear()代码示例 复制代码 代码如下: sessionStorage.clear(); localStorage.clear(); 四、其他操作方法点操作和[]web Storage不但可以用自身的setItem,getItem等方便存取也可以像普通对象一样用点(.)操作符及[]的方式进行数据存储像如下的代码 复制代码 代码如下: var storage window.localStorage; storage.key1 hello; storage[key2] world; console.log(storage.key1); console.log(storage[key2]); 五、localStorage和sessionStorage的key和length属性实现遍历sessionStorage和localStorage提供的key()和length可以方便的实现存储的数据遍历例如下面的代码 复制代码 代码如下: var storage window.localStorage; for (var i0, len storage.length; i len; i){var key storage.key(i); var value storage.getItem(key); console.log(key value); } 六、storage事件storage还提供了storage事件当键值改变或者clear的时候就可以触发storage事件如下面的代码就添加了一个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){ewindow.event;} } storage事件对象的具体属性如下表 PropertyTypeDescriptionkeyStringThe named key that was added, removed, or moddifiedoldValueAnyThe previous value(now overwritten), or null if a new item was addednewValueAnyThe new value, or null if an item was addedurl/uriStringThe page that called the method that triggered this change转载于:https://www.cnblogs.com/lenther2002/p/5047094.html