📅  最后修改于: 2023-12-03 15:01:18.614000             🧑  作者: Mango
HTML5提供了多种Web存储API,允许web应用程序在浏览器中存储和检索数据。这些存储选项具有许多优点,比如随时可用、跨浏览器和跨平台兼容等。
本演示将展示HTML5中可用的Web存储选项,包括localstorage、sessionstorage和indexeddb。此外,我们还将探讨如何使用这些API存储和检索数据,以及它们的主要优缺点。
LocalStorage允许将数据存储在浏览器中,即使用户关闭窗口或浏览器也不会丢失。它支持存储键值对形式的字符串数据。
// 设置键值对
localStorage.setItem('key', 'value');
// 获取键值对
const value = localStorage.getItem('key');
// 删除键
localStorage.removeItem('key');
SessionStorage与LocalStorage类似,但数据只存储在用户浏览器打开的单个窗口或选项卡中。如果用户关闭窗口或选项卡,则数据将丢失。
// 设置键值对
sessionStorage.setItem('key', 'value');
// 获取键值对
const value = sessionStorage.getItem('key');
// 删除键
sessionStorage.removeItem('key');
IndexedDB允许存储和检索结构化数据,相对于LocalStorage和SessionStorage,它更为强大。它支持事务处理和高级查询,并能够存储更复杂的数据类型。
// 打开DB
const request = indexedDB.open('mydatabase', 1);
let db = null;
request.onsuccess = function(event) {
db = event.target.result;
};
// 添加数据
const transaction = db.transaction(['mystore'], 'readwrite');
const store = transaction.objectStore('mystore');
store.put({ id: 1, name: 'John Doe' });
// 获取数据
const request = store.get(1);
request.onsuccess = function(event) {
const data = event.target.result;
};
// 删除数据
store.delete(1);
Web存储API具有许多优点,如下:
然而,Web存储API也存在一些缺点:
HTML5中的Web存储API为Web应用程序提供了一种便捷的方式来存储和检索数据,它非常适合需要在浏览器中运行的应用程序。通过使用这些API,开发人员可以确保数据在用户浏览器中可以存储和访问,而不需要额外的软件或插件。