当前位置:首页 > 行业动态 > 正文

html存储短语

HTML可利用data-属性、隐藏元素或JS本地

常见存储方式

HTML5 提供了多种在客户端存储数据的方式,主要包括 CookieLocalStorageSessionStorage,以及更复杂的 IndexedDB,以下是核心存储机制的说明:


存储方式对比表

特性 Cookie LocalStorage SessionStorage
数据持久性 可设置过期时间(长期存储) 永久存储(手动清除) 会话级存储(页面关闭失效)
数据大小限制 约 4KB(单个域名) 约 5MB(单个域名) 约 5MB(单个域名)
数据类型 字符串(需编码其他类型) 字符串(需编码其他类型) 字符串(需编码其他类型)
作用域 全域名共享(跨路径) 同源(协议+域名+端口) 同源(会话内)
服务器交互 每次请求自动发送到服务器 不随请求发送 不随请求发送

操作方法示例

LocalStorage 存取数据

// 存储数据
localStorage.setItem('key', 'value');
// 读取数据
const value = localStorage.getItem('key');
// 删除数据
localStorage.removeItem('key');
// 清空所有数据
localStorage.clear();

SessionStorage 临时存储

// 存储数据
sessionStorage.setItem('tempKey', 'tempValue');
// 读取数据
const tempValue = sessionStorage.getItem('tempKey');

Cookie 操作

// 设置 Cookie(有效期 1 天)
document.cookie = "username=John; expires=Thu, 01 Jan 2024 00:00:00 UTC; path=/";
// 读取 Cookie
function getCookie(name) {
  const match = document.cookie.match(new RegExp(`${name}=([^;])`));
  return match ? match[1] : null;
}
// 删除 Cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/";

注意事项

  1. 安全性

    • 避免存储敏感信息(如密码),数据可被用户或脚本轻易读取。
    • 使用 HttpOnly 属性保护 Cookie,防止 JavaScript 访问。
  2. 浏览器兼容性

    • localStoragesessionStorage 在 IE8+ 及以上浏览器支持。
    • 老旧浏览器需通过 Polyfill 实现。
  3. 性能影响

    • 大量数据存储可能影响页面加载速度,建议控制数据体积。
    • Cookie 过多会导致请求体积增大,影响网络性能。

相关问题与解答

问题1:如何选择 LocalStorage 和 SessionStorage?

解答

  • 若需要长期保存数据(如用户偏好设置),使用 LocalStorage
  • 若数据仅在当前会话中使用(如临时表单数据),使用 SessionStorage

问题2:如何清除所有 LocalStorage 数据?

解答
调用 localStorage.clear() 方法即可清空当前域名下的所有 LocalStorage 数据。

localStorage.clear
0