会话存储sessionStorage

会话存储的工作方式和本地存储的工作方式很接近,不同之处在于数据是各个浏览器上下文私有的,会在文档被关闭时移除(注意是被关闭时才移除,刷新是不会移除的)。我们通过全局sessionStorage访问会话存储,它返回一个Storage对象,该对象与本地存储里的是一样的。

sessionStorage案例1:

 1 <!doctype html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>sessionStorage</title>
 6     <style>
 7
 8     </style>
 9 </head>
10
11 <body>
12 <ul>
13     <li>key:<input id="key" type="text" value=""></li>
14     <li>value:<input id="value" type="text" value=""></li>
15     <li>
16         <input id="add" type="button" value="add">
17         <input id="clear" type="button" value="clear">
18     </li>
19     <li id="countmsg">There are <span id="count"></span> items</li>
20 </ul>
21 <table id="data"></table>
22 <script>
23     displayData();
24     document.getElementById(‘add‘).onclick=handleButtonPress;
25     document.getElementById(‘clear‘).onclick=handleButtonPress;
26     function handleButtonPress(e){
27         switch(e.target.id){
28             case ‘add‘:
29                 var key=document.getElementById(‘key‘).value;
30                 var value=document.getElementById(‘value‘).value;
31                 sessionStorage.setItem(key,value);
32                 break;
33             case ‘clear‘:
34                 sessionStorage.clear();
35         }
36         displayData();
37     }
38     function displayData(){
39         var tableItem=document.getElementById(‘data‘);
40         tableItem.innerHTML=‘‘;
41         var itemCount=sessionStorage.length;
42         document.getElementById(‘count‘).innerHTML=itemCount;
43         for(var i=0;i<itemCount;i++){
44             var key=sessionStorage.key(i);
45             var val=sessionStorage[key];
46             tableItem.innerHTML+=‘<tr><th>‘+key+‘</th><td>‘+val+‘</td></tr>‘;
47         }
48     }
49 </script>
50 </body>
51 </html>

这个案例的工作方式和本地存储里的案例很接近,不同之处在与可见性和寿命受到限制(sessionStorage是临时存储)。这些限制会影响storage事件的处理方式,本地存储里提到storage事件只会在其他同源文档中触发。对于会话存储,这就意味着事件只会在内嵌文档中触发,比如iframe文档,如下案例:

 1 <!doctype html>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5     <title>sessionStorage</title>
 6     <style>
 7
 8     </style>
 9 </head>
10
11 <body>
12 <ul>
13     <li>key:<input id="key" type="text" value=""></li>
14     <li>value:<input id="value" type="text" value=""></li>
15     <li>
16         <input id="add" type="button" value="add">
17         <input id="clear" type="button" value="clear">
18     </li>
19     <li id="countmsg">There are <span id="count"></span> items</li>
20 </ul>
21 <table id="data"></table>
22 <iframe src="./storage.html" width="500" height="175"></iframe>
23 <script>
24     displayData();
25     document.getElementById(‘add‘).onclick=handleButtonPress;
26     document.getElementById(‘clear‘).onclick=handleButtonPress;
27     function handleButtonPress(e){
28         switch(e.target.id){
29             case ‘add‘:
30                 var key=document.getElementById(‘key‘).value;
31                 var value=document.getElementById(‘value‘).value;
32                 sessionStorage.setItem(key,value);
33                 break;
34             case ‘clear‘:
35                 sessionStorage.clear();
36         }
37         displayData();
38     }
39     function displayData(){
40         var tableItem=document.getElementById(‘data‘);
41         tableItem.innerHTML=‘‘;
42         var itemCount=sessionStorage.length;
43         document.getElementById(‘count‘).innerHTML=itemCount;
44         for(var i=0;i<itemCount;i++){
45             var key=sessionStorage.key(i);
46             var val=sessionStorage[key];
47             tableItem.innerHTML+=‘<tr><th>‘+key+‘</th><td>‘+val+‘</td></tr>‘;
48         }
49     }
50 </script>
51 </body>
52 </html>

此案例中iframe引入的storage.html与本地存储那里的storage.html代码一模一样,此处就不做说明。直接copy上面的代码并在浏览器中运行可以查看到效果

时间: 2024-11-05 18:28:12

会话存储sessionStorage的相关文章

HTML5 sessionStorage会话存储

sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据.本篇主要介绍 sessionStorage(会话存储)的使用方式.包括添加.修改.删除等操作. 目录 1. 介绍 1.1 说明 1.2 特点 1.3 浏览器最小版本支持 1.4 适合场景 2. 成员 2.1 属性 2.2 方法 3. 示例 3.1 存储数据 3.2 读取数据 3.3 存储Json对象 1. 介绍 1.1 说明 sessionStorag

h5的本地存储——sessionStorage,localStorage

HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,localStorage和sessionStorage都是本地存储. Cookie会在每次发送HTTP请求时附加到Cookie头字段,服务器以此得知用户所处的状态. Web Storage的概念和cookie相似,

express中的会话存储方式

会话存储需要用的express-session包 app.use(require('express-sessiion')()) express-session接收带有如下选项的配置对象: key;存放唯一会话标识的cookie名称,默认为connect.sid, store 会话存储的实例,默认为一个MemoryStore的实例 cookie 会话cookie的cookie设置(path,domain,secure等) 会话设置之后使用起来非常简单,就是使用req请求对象的session属性,注

Magento2使用Redis进行页面缓存或会话存储。

1.Redis是一个可选的后端缓存解决方案,不过magento2默认使用的是Zend_Cache_Backend_File 2.Zend_Cache_Backend_File的问题 core_cache_tag表不断增长. 如果Magento实例具有多个网站和具有大型目录的网络商店,则该表可在不到一天内增长到1500万条记录. 插入到core_cache_tag会导致MySQL服务器的问题,包括性能降低. 3.为什么使用Redis Redis也可以用于PHP会话存储,使得可以使用Redis完全替

Cookies,localStorage,sessionStorage,Web SQL Database(客户端)会话存储学习

客户端(浏览器端)存储数据有诸多益处,最主要的一点是能快速访问(网页)数据.目前常见的浏览器端数据存储方法有:Cookies,Local Storage,Session Storage,IndexedDB 取值,存值,删除(用于浏览器存储客户端的访问数据) 1.Cookies Cookies 是一种在文档内存储字符串数据最典型的方式.一般而言,cookies 会由服务端发送给客户端,客户端存储下来,然后在随后让请求中再发回给服务端.这可以用于诸如管理用户会话,追踪用户信息等事情. Cookies

通过sessionStorage会话存储实现页面跳转之后返回到当前位置 (刷新跳回顶部)【2】

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible"

H5本地存储sessionStorage和localStorage的区别

sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁.因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储.当用户关闭浏览器窗口后,数据立马会被删除.(特别提示:新建一个标签页面以后,即使跟前一个页面的地址相同,新建标签页面也获取不到前一个页面中获取或者设置的sessionStorage) localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的

web本地存储 sessionStorage 和 localStorage

1.sessionStorage  临时存储 为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载. 2.localStorage 长期存储 与sessionStorage一样,但在浏览器关闭之后,数据依然会一直存在 保存数据到本地 var userInfo={ name:"张三", age:24, likes:"song" } sessionStorage.setItem("key",JSON.stringify(userIn

Html5简单存储localStorage和sessionStorage

localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 1.localStorage : localStorage 没有时间限制的数据存储,也就是说, localStorage是永远不会过期的,除非主动删除数据. 数据可跨越多个窗口,无视当前会话,在同一个域中 被共同访问.使用. 2.sessionStorage 针对一个 session 的数据存储,任何一个页面存储的 信息在窗口中同一域下的页面都可以访问它存储的数 据.每个