HTML5 引入了 Web Storage API,其中包括 localStorage 和 sessionStorage,用于在浏览器中存储数据。此外,HTML5 还引入了一个新的客户端数据库——IndexedDB,它是一个事务型数据库系统,相比于 localStorage,IndexedDB 提供了更大的存储空间和更复杂的查询功能。
以下是一个使用 IndexedDB 的简单示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>IndexedDB Example</title>
</head>
<body>
<h1>IndexedDB Example</h1>
<button onclick="openDB()">Open Database</button>
<button onclick="addData()">Add Data</button>
<button onclick="getData()">Get Data</button>
<script>
let db;
function openDB() {
const request = indexedDB.open('myDatabase', 1);
request.onupgradeneeded = function(event) {
db = event.target.result;
db.createObjectStore('users', { keyPath: 'id' });
};
request.onsuccess = function(event) {
db = event.target.result;
console.log('Database opened successfully');
};
request.onerror = function(event) {
console.error('Database error: ' + event.target.errorCode);
};
}
function addData() {
const transaction = db.transaction(['users'], 'readwrite');
const store = transaction.objectStore('users');
const user = { id: 1, name: 'John Doe', email: 'john@example.com' };
const request = store.add(user);
request.onsuccess = function(event) {
console.log('Data added successfully');
};
request.onerror = function(event) {
console.error('Error adding data: ' + event.target.errorCode);
};
}
function getData() {
const transaction = db.transaction(['users'], 'readonly');
const store = transaction.objectStore('users');
const request = store.get(1);
request.onsuccess = function(event) {
const user = event.target.result;
console.log('User:', user);
};
request.onerror = function(event) {
console.error('Error getting data: ' + event.target.errorCode);
};
}
</script>
</body>
</html>
通过上述示例代码,你可以看到如何打开数据库、添加数据和获取数据。如果你在实际应用中遇到问题,可以参考上述链接中的详细文档和示例,或者查看浏览器的控制台日志以获取更多调试信息。
领取专属 10元无门槛券
手把手带您无忧上云