HTML5 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 说明

sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

在JavaScript语言中可通过 window.sessionStorage 或 sessionStorage 调用此对象。

1.2 特点

1) 同源策略限制。若想在不同页面之间对同一个sessionStorage进行操作,这些页面必须在同一协议、同一主机名和同一端口下。(IE 8和9存储数据仅基于同一主机名,忽略协议(HTTP和HTTPS)和端口号的要求)

2) 单标签页限制。sessionStorage操作限制在单个标签页中,在此标签页进行同源页面访问都可以共享sessionStorage数据。

3) 只在本地存储。seesionStorage的数据不会跟随HTTP请求一起发送到服务器,只会在本地生效,并在关闭标签页后清除数据。(若使用Chrome的恢复标签页功能,seesionStorage的数据也会恢复)。

4) 存储方式。seesionStorage的存储方式采用key、value的方式。value的值必须为字符串类型(传入非字符串,也会在存储时转换为字符串。true值会转换为"true")。

5) 存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下

可访问 Web Storage Support Test 测试浏览器的存储上限。

1.3 浏览器最小版本支持

支持sessionStorage的浏览器最小版本:IE8、Chrome 5。

1.4 适合场景

sessionStorage 非常适合SPA(单页应用程序),可以方便在各业务模块进行传值。

2. 成员

2.1 属性

HTML5 sessionStorage会话存储

 readonly int sessionStorage.length :返回一个整数,表示存储在 sessionStorage 对象中的数据项(键值对)数量。

2.2 方法

HTML5 sessionStorage会话存储

 string sessionStorage.key(int index) :返回当前 sessionStorage 对象的第index序号的key名称。若没有返回null。

HTML5 sessionStorage会话存储

 string sessionStorage.getItem(string key) :返回键名(key)对应的值(value)。若没有返回null。

HTML5 sessionStorage会话存储

 void sessionStorage.setItem(string key, string value) :该方法接受一个键名(key)和值(value)作为参数,将键值对添加到存储中;如果键名存在,则更新其对应的值。

HTML5 sessionStorage会话存储

 void sessionStorage.removeItem(string key) :将指定的键名(key)从 sessionStorage 对象中移除。

HTML5 sessionStorage会话存储

 void sessionStorage.clear() :清除 sessionStorage 对象所有的项。

3. 示例

3.1 存储数据

3.1.1 采用setItem()方法存储

sessionStorage.setItem('testKey','这是一个测试的value值'); // 存入一个值

3.1.2 通过属性方式存储  

sessionStorage['testKey'] = '这是一个测试的value值';

3.2 读取数据

3.2.1 通过getItem()方法取值

sessionStorage.getItem('testKey'); // => 返回testKey对应的值

3.2.2 通过属性方式取值

sessionStorage['testKey']; // => 这是一个测试的value值

3.3 存储Json对象

sessionStorage也可存储Json对象:存储时,通过JSON.stringify()将对象转换为文本格式;读取时,通过JSON.parse()将文本转换回对象。

var userEntity = {
    name: 'tom',
    age: 22
};
 
// 存储值:将对象转换为Json字符串
sessionStorage.setItem('user', JSON.stringify(userEntity));
 
// 取值时:把获取到的Json字符串转换回对象
var userJsonStr = sessionStorage.getItem('user');
userEntity = JSON.parse(userJsonStr);
console.log(userEntity.name); // => tom

End

Web开发之路系列文章

菜单加载中...文章来源地址https://www.toymoban.com/news/detail-481200.html

到了这里,关于HTML5 sessionStorage会话存储的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浅述HTML5的离线存储

    离线存储是什么?  离线存储就是在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。 离线存储的原理: h5的离线存储是基于一个新建的.appcache文件的缓存机制,通过这个文件上的解析清单离线存储资源,这些资源就

    2024年04月10日
    浏览(44)
  • html5学习笔记18-web存储、web sql、web worker

    https://www.runoob.com/html/html5-webstorage.html HTML5 web 存储,可替代 cookie 的本地存储方式。 客户端存储数据的两个对象:localStorage网站的 sessionStorage窗口的 web db sql web worker

    2024年02月10日
    浏览(43)
  • 前端数据存储系列(Cookie、Session、localStorage、sessionStorage、Token)

    简述: Session比Cookie安全,Session是存储在服务器端的,Cookie是存储在客户端的 背景: HTTP 是无状态协议,说明它不能以状态来区分和管理请求和响应。也就是说,服务器单从网络连接上无从知道客户身份。 于是想说客户端们颁发一个通行证吧,每人一个,无论谁访问都必须

    2023年04月24日
    浏览(42)
  • 浏览器的存储,cookie(httponly)、localStorage、sessionStorage、indexed对比

    浏览器提供了多种客户端存储机制,每种机制都有其特定的用途、特性和限制。以下是对 cookie 、 localStorage 、 sessionStorage 和 IndexedDB 的对比: 1. Cookie 存储大小 : 通常限制为4KB。 生命周期 : 可以设置过期时间。如果没有设置,它的生命周期将与会话持续相同,即关闭浏览器后

    2024年02月10日
    浏览(42)
  • 前端存储不要局限于cookies、Web Storage(sessionStorage、localStorage)还有它!

    前端本地化存储算是一个老生常谈的话题了,我们对于 cookies、Web Storage(sessionStorage、localStorage)的使用已经非常熟悉,这段时间公司提出了一个需求,业务员在移动端作业时需要有一个暂存功能,暂时存储填写的数据,我分析后数据量还比较大,前后查过各种资料。现在分

    2024年02月19日
    浏览(41)
  • Seata入门系列【17】会话存储模式

    之前我们了解到TC (Transaction Coordinator) - 事务协调者,负责维护全局和分支事务的状态,驱动全局事务提交或回滚。 也了解到Seata 中undo_log、global_table、branch_table、lock_table表字段及作用详解 在服务端,需要存储事务会话信息,支持以下几种方式: file本地文件(不支持HA), db数

    2024年02月06日
    浏览(42)
  • html5学习笔记13-HTML5 新元素

    https://www.runoob.com/html/html5-new-element.html 新多媒体元素 新表单元素 新的语义和结构元素 移除的元素,HTML 4.01 元素在HTML5中已经被删除:

    2024年02月11日
    浏览(69)
  • HTML5 <rt> 标签、HTML5 <ruby> 标签

    HTML5 rt标签用于表示为ruby标签中的注释内容。 一个 ruby 注释: 尝试一下 » IE 9+、Firefox、Opera、Chrome 和 Safari 支持 rt 标签。 注释: IE 8 或更早版本的 IE 浏览器不支持 rt 标签。 rt 标签定义字符(中文注音或字符)的解释或发音。 将 rt 标签与 ruby 和 rp 标签一起使用: ruby 元素

    2023年04月23日
    浏览(113)
  • 【HTML5系列】第一章 · HTML5新增语义化标签

            Hello大家好, 我是【 麟-小白 】,一位 软件工程 专业的学生,喜好 计算机知识 。希望大家能够一起 学习进步 呀!本人是一名 在读大学生 ,专业水平有限,如发现 错误 或 不足之处 ,请多多指正!谢谢大家!!!         如果 小哥哥小姐姐们 对我的文章感兴趣

    2024年02月04日
    浏览(59)
  • 什么是HTML5?HTML5的含义、元素和好处

    HTML5是超文本标记语言(HTML)的第五版,网络浏览器使用它来可视化代码。它在网站功能、网页内容开发等方面有一些改进。 在万维网的早期,主要的网络浏览器创造者(例如微软Internet Explorer和Mosaic Netscape)开发了特定于浏览器的元素,以增强其浏览器的网页外观。到上世纪

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包