- HTML 教程
- HTML 教程
- HTML - 简介
- HTML - 编辑器
- HTML - 基本标签
- HTML - 元素
- HTML - 属性
- HTML - 标题
- HTML - 段落
- HTML - 字体
- HTML - 块和内联元素
- HTML - 样式表
- HTML - 文本格式化
- HTML - 引用
- HTML - 注释
- HTML - 颜色
- HTML - 图像
- HTML - 图像映射
- HTML - iframe
- HTML - 短语标签
- HTML - 类
- HTML - ID
- HTML - 背景
- HTML 表格
- HTML - 表格
- HTML - 表格标题
- HTML - 表格样式
- HTML - 表格 Colgroup
- HTML - 嵌套表格
- HTML 列表
- HTML - 列表
- HTML - 无序列表
- HTML - 有序列表
- HTML - 定义列表
- HTML 链接
- HTML - 文本链接
- HTML - 图片链接
- HTML - 电子邮件链接
- HTML 颜色名称和值
- HTML - 颜色名称
- HTML - RGB 和 RGBA 颜色
- HTML - 十六进制颜色
- HTML - HSL 和 HSLA 颜色
- HTML 表单
- HTML - 表单
- HTML - 表单属性
- HTML - 表单控件
- HTML - 输入属性
- HTML 媒体
- HTML - 视频元素
- HTML - 音频元素
- HTML - 嵌入多媒体
- HTML 标头
- HTML - 头部
- HTML - 网站图标
- HTML - JavaScript
- HTML 布局
- HTML - 布局
- HTML - 布局元素
- HTML - CSS布局
- HTML - 响应式网页设计
- HTML - 特殊符号
- HTML - 表情符号
- HTML - 样式指南
- HTML 图形
- HTML - SVG
- HTML - 画布
- HTML API 接口
- HTML - Geolocation API
- HTML - 拖放 API
- HTML - Web Workers API
- HTML - WebSockets
- HTML - Web 存储
- HTML - 服务器发送事件
- HTML 杂项
- HTML - 数学标记语言
- HTML - 微观数据
- HTML - 索引数据库
- HTML - Web 消息传递
- HTML - CORS
- HTML - Web RTC
- HTML 演示
- HTML - 音频播放器
- HTML - 视频播放器
- HTML - Web 幻灯片台
- HTML 工具
- HTML - 二维码
- HTML - Modernizr
- HTML - 验证器
- HTML 备忘单
- HTML - 标签参考
- HTML - 属性参考
- HTML - 事件参考
- HTML - 字体参考
- HTML - ASCII 代码参考
- HTML - 实体
- MIME 媒体类型
- HTML - URL 编码
- HTML - ISO 语言代码
- HTML - 字符编码
- HTML - 已弃用的标签和属性
HTML - Web 存储
HTML Web 存储是一种机制,可帮助 Web 应用程序在用户浏览器中本地存储数据。
Web 存储的类型
HTML 引入了两种机制,类似于 HTTP 会话 cookie,用于在客户端存储结构化数据,而无需将其发送到服务器。
- 会话存储
- 本地存储
要在 Web 应用程序中使用会话存储或本地存储,我们可以分别通过 window.sessionStorage 和 window.localStorage 属性访问它们。
HTML Web 存储示例
以下是一些示例,展示了 HTML 中 Web 存储的不同方式。
探索我们最新的在线课程,按照自己的节奏学习新技能。注册并成为认证专家,以提升您的职业生涯。
会话存储
会话存储是临时的,当页面会话结束时会被清除,这在浏览器选项卡或窗口关闭时发生。存储在会话存储中的数据特定于每个选项卡或窗口。
HTML5 引入了 sessionStorage 属性,站点将使用该属性将数据添加到会话存储中,并且在该窗口中打开的同一站点(即会话)中的任何页面都可以访问它,一旦您关闭窗口,会话就会丢失。
例子以下是设置会话变量并访问该变量的代码。
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
if( sessionStorage.hits ){
sessionStorage.hits = Number(sessionStorage.hits) +1;
} else {
sessionStorage.hits = 1;
}
document.write("Total Hits :" + sessionStorage.hits );
</script>
<p>
Refresh the page to increase number of hits.
</p>
<p>
Close the window and open it again and check
the result.
</p>
</body>
</html>
本地存储
本地存储专为跨多个窗口的存储而设计,并持续到当前会话之后。它不会过期并保留在浏览器中,直到用户或 Web 应用程序手动删除它。特别是,出于性能原因,Web 应用程序可能希望在客户端存储兆字节的用户数据,例如整个用户创作的文档或用户邮箱。
同样,cookie 不能很好地处理这种情况,因为它们会随着每个请求一起传输。
HTML5 引入了 localStorage 属性,该属性将用于访问页面的本地存储区域,没有时间限制,并且只要您使用该页面,此本地存储都将可用。
例以下是设置本地存储变量并在每次访问此页面时访问该变量的代码,甚至在下次打开窗口时也是如此;
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
if( localStorage.hits ){
localStorage.hits = Number(localStorage.hits) +1;
} else {
localStorage.hits = 1;
}
document.write("Total Hits :" + localStorage.hits );
</script>
<p>
Refresh the page to increase number of hits.
</p>
<p>
Close the window and open it again and check
the result.
</p>
</body>
</html>
删除 Web 存储
在本地计算机上存储敏感数据可能很危险,并可能留下安全漏洞。会话存储数据将在会话终止后立即被浏览器删除。
但是,要清除本地存储设置,我们需要调用 localStorage.remove('key'); 其中 'key' 是我们要删除的值的键。如果我们想清除所有设置,可以调用 localStorage.clear() 方法。
例以下是清除完整本地存储的代码;
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
localStorage.clear();
// Reset number of hits.
if( localStorage.hits ){
localStorage.hits = Number(localStorage.hits) +1;
} else {
localStorage.hits = 1;
}
document.write("Total Hits :" + localStorage.hits );
</script>
<p>
Refreshing the page would not to increase
hit counter.
</p>
<p>
Close the window and open it again and check
the result.
</p>
</body>
</html>
Reson对birng Web Storage over Cookies的共鸣
引入网络存储是为了克服 cookie 的以下缺点。
- 每个 HTTP 请求都包含 Cookie,从而通过传输相同的数据来减慢您的 Web 应用程序的速度。
- 每个 HTTP 请求都包含 Cookie,从而通过 Internet 发送未加密的数据。
- Cookie 限制为大约 4 KB 的数据。不足以存储所需的数据。