Session Storage

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

Session Storage 和 Local Storage 的用法差不多 … 使用 setItem() 去设置存储的数据 … 用 getItem() 去获取存储的数据 … removeItem() 移除数据项目 … 用 clear() 清空数据项目 ..

不过他们之间还是有一些区别的 … 比如 Local Storage 的数据会一直保留 … 除非通过应用清除掉他们 … 或者用户手工去清除他们 …

而 Session Storage 的数据在用户关掉浏览器标签或者窗口的时候就会被清除掉 …

另外 Session Storage 可以单独为每一个窗口或者标签去设置存储数据 … 即使文档的来源是一样的 … 不同窗口之间也不能互相访问彼此的 Session Storage 数据 …

下面我们还是通过几个演示再来理解一下 Session Storage ..

准备

先去准备一下 .. 打开 index.html … 这里我把页面分成了两部分 .. 左边可以显示存储数据 .. 右边可以通过一个表单去设置存储数据 …

这个表单上面定义了一个 set-form 的 ID .. 它的里面有两个 input 元素 .. 一个叫 name … 一个是 gender …

用户可以在这两个文本框里输入内容 … 然后点击 设置数据项目 … 可以把输入的内容设置成 sessionStorage 数据 …

同时设置的数据会显示在页面的左边 ..

script.js

打开 script.js … 这是在之前的视频里我们用到的代码 … 我们可以直接把这里的所有的 localStorage … 替换成 sessionStorage …

这里我用的是 brackets 编辑器 … alt + command + f .. 可以去查找并替换 … 或者可以点击 编辑 菜单 ... 找到 替换 ...

先输入想要查找的内容 … localStorage … 再输入要替换成的那个内容 ...

再输入想要替换成的内容 … sessionStorage … 这里要注意大小写 ..

回车 … 点击 所有 … 再点一下 Replace .. 替换 ..

修改

下面我们还得修改几个地方 … 之前点击 设置数据项目 按钮以后 ,执行 setStorage … 会设置固定的数据值 … 这里我们需要根据用户在 name 还有 gender 这两个文本框里输入的内容 … 动态的去设置存储数据 …

在这个 setItem 这里 … 修改一下要设置的值 ..

我们先去获取到表单元素 … 给它命名一下 …

var setForm = document.getElementById("set-form");

表单里的所有的元素会在 emements 里面 …. 使用元素的索引值 … 或者元素的名称可以访问表单里的元素 …

这个 name 数据的值 .. 可以设置成 setForm.elements["name"].value

它的意思就是 .. 得到 setForm 表单里的 name 这个元素里的值 … 也就是用户通过这个文本框 .. 输入的内容 …

同样的方法再设置一下 gender 数据的值 …

setForm.elements["gender"].value

其它的我们先不用动 ….

测试

在浏览器里打开这个文档 … 输入姓名 … 王皓 … 性别 … 男 ... 然后点击 设置数据项目 …

在页面的左边 … 会显示设置的 sessionStorage 数据 … 再打开开发者工具 …

Resources … Session Storage …

在这里同样可以找到设置的 sessionStorage ….

下面我们关闭这个浏览器标签 …

然后再打开这个文档 …

在页面的左边 … 就不会再显示刚才设置的 sessionStorage 数据了 … 因为 sessionStorage 数据在关掉浏览器标签或者窗口的时候,会自动清除掉 ….

不过有一种情况是个例外 .. 有些浏览器可以自动恢复关闭以前打开的标签 … 恢复以后 sessionStorage 数据仍然会存在 …

Chrome 浏览器就有这个功能 … 打开这个自定义和控制按钮 … 选择 设置 …

在 启动时 这个区域里面 … 选择 继续浏览上次关闭浏览器时在看的网页 …

下面再去设置一下 sessionStorage … 姓名 … 王皓 … 性别 … 男 … 点击 设置 …

然后我们可以关掉浏览器 …

可以使用快捷键 command + q … windows 有户可按一下 ctrl + q …

再打开 chrome 浏览器 …

页面左边仍然会显示之前设置的 sessionStorage 数据 …

不同标签

sessionStorage 还可以让我们在不同标签上设置不同的数据 … 新建一个标签 …

输入姓名 … 小雪 … 性别 … 女 … 点击 设置 …

页面左边会显示出设置的 sessionStorage … 姓名 小雪 … 性别 女 ...

回到之前的标签 … 刷新 …

仍然会显示之前设置的 sessionStorage 数据的内容 …

Session Storage《 HTML5:Web 存储 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点