HTML 本地存储

1. 什么是 HTML 本地存储?

HTML 本地存储是指将数据存储在客户端内存或磁盘中,而不是通过网络请求从服务器获取。HTML 本地存储技术是 Web 应用程序的一个重要组成部分,可以提高 Web 应用程序的用户体验、加快应用程序的加载速度,并且可以减轻服务器的负担。

1.1 localStorage 和 sessionStorage

HTML 本地存储主要有两种方式:localStorage 和 sessionStorage。这两种方式都是 Web Storage API 的一部分,可以使用 JavaScript 对其进行操作。

1.2 localStorage 的特点

localStorage 是指在客户端永久存储数据的方法,即使用户关闭浏览器或计算机重启,存储的数据也不会丢失。在同一个域名下,所有页面都可以共享 localStorage 中的数据。

在 HTML5 规范之前,开发人员通常使用 cookie 来存储客户端数据,但是 cookie 的缺点也很明显,比如不能存储大量数据、数据传输慢等,而 localStorage 不存在这些问题。

1.3 sessionStorage 的特点

sessionStorage 也是一种客户端存储数据的方式,与 localStorage 的区别在于,sessionStorage 只在当前会话期间有效。当用户关闭浏览器或者标签页时,存储在sessionStorage中的数据将会被清除。

sessionStorage 主要用于在同一页面中不同区域的数据共享,比如一个页面上有多个功能模块,每个模块都需要一个地方来存储自己的数据。

2. 如何使用 HTML 本地存储

2.1 存储数据

使用 HTML 本地存储来存储数据非常简单,只需要调用 localStorage 或 sessionStorage 对象上的 setItem 方法,传入键名和值,就可以将数据存储在客户端中。

$localStorage.setItem('key', 'value');

其中,key 表示键名,value 表示键值。当我们需要取出这个值时,只需要调用 getItem 方法,传入键名即可。

$localStorage.getItem('key');

2.2 键值对的数据类型

在使用 HTML 本地存储的过程中,键名和键值可以是任何类型的数据。但是,客户端存储的数据是以字符串的形式存储的。

因此,在存储复杂数据类型时,需要将其转换成字符串。常见的转换方法包括 JSON.stringify() 和使用模板字符串来存储数据。

// 将对象转换成 JSON 字符串,并存储到 localStorage

const person = { name: 'Tom', age: 20 };

$localStorage.setItem('person', JSON.stringify(person));

// 从 localStorage 中取出 JSON 字符串并转换成对象

const personStr = $localStorage.getItem('person');

if (personStr) {

const personObj = JSON.parse(personStr);

}

// 使用模板字符串来存储数据

const phone = '13111111111';

$localStorage.setItem(`phone-${userid}`, phone);

2.3 删除数据和清空数据

要删除存储在本地的数据,只需要调用 removeItem 方法,传入键名即可。

$localStorage.removeItem('key');

如果需要清空所有的本地存储数据,可以调用 clear 方法。

$localStorage.clear();

3. HTML 本地存储的应用场景

3.1 用户状态的保存

在用户登录状态下,有些网站会将用户的登录信息保存在本地存储中,以便下次登录时可以自动登录,提高用户的使用体验。

同时,本地存储也可以用于记录用户的浏览历史记录或者收藏夹,以便用户下次访问时能够更快捷地找到喜欢的页面。

3.2 离线缓存

使用 HTML 本地存储还可以实现离线缓存功能。将需要缓存的数据存储在本地后,即使用户断开与服务器的连接,也可以访问缓存中的数据,保证了用户体验。

离线缓存同样可以应用于一些在线应用,例如博客、看板系统,当用户在没有网络信号的情况下,可以继续访问保存在本地的文章或者任务信息,而不需要等待网络恢复。

3.3 优化Web应用程序的性能

在 Web 应用程序中,从服务器获取数据所需要的时间是比较久的,使用本地存储可以减少服务器的请求次数,从而减轻服务器的负担,提高网站的响应速度和性能。

如果在网站中有一些公共数据,例如用户基本信息、应用程序的配置信息等,可以将这些数据存储在本地,以便在每次应用启动时,可以优先读取本地存储的数据,避免每次请求服务器获取数据。

4. 总结

HTML 本地存储技术是提高 Web 应用程序性能、加快应用程序加载速度、改进用户体验、减轻服务器负担的有效方法。可以使用 localStorage 和 sessionStorage 存储客户端数据,使用简单、方便且在大多数浏览器中都支持。

在使用 HTML 本地存储时,需要注意存储数据的类型、存储数据的方式,以及清除存储数据等问题。同时,本地存储还可以应用于用户状态的保存、离线缓存和优化 Web 应用程序的性能的方面。