IDBFactory: deleteDatabase() 方法
注意:此功能在 Web Workers 中可用。
IDBFactory 介面的 deleteDatabase() 方法用於請求刪除資料庫。該方法會立即返回一個 IDBOpenDBRequest 物件,並非同步執行刪除操作。
如果資料庫被成功刪除,則在該方法返回的請求物件上會觸發一個 success 事件,其 result 屬性設定為 undefined。如果資料庫刪除過程中發生錯誤,則在該方法返回的請求物件上會觸發一個 error 事件。
當呼叫 deleteDatabase() 時,所有指向該特定資料庫的其他開啟連線都會收到一個 versionchange 事件。
語法
js
// For the current standard:
deleteDatabase(name)
// For the experimental version with `options` (see below):
deleteDatabase(name)
deleteDatabase(name, options)
引數
name-
要刪除的資料庫的名稱。請注意,嘗試刪除不存在的資料庫不會丟擲異常,這與
IDBDatabase.deleteObjectStore()不同,後者在命名的物件儲存不存在時會丟擲異常。 options可選 非標準-
在 Gecko 中,自 版本 26 起,您可以包含一個非標準的、可選的儲存引數,用於指定是希望刪除
permanent(預設值) 的 IndexedDB,還是temporary儲存 (也稱為共享池) 中的 IndexedDB。
返回值
一個 IDBOpenDBRequest 物件,後續與此請求相關的事件將在此物件上觸發。
如果操作成功,請求的 result 屬性的值為 null。
示例
js
const DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList");
DBDeleteRequest.onerror = (event) => {
console.error("Error deleting database.");
};
DBDeleteRequest.onsuccess = (event) => {
console.log("Database deleted successfully");
console.log(event.result); // should be undefined
};
規範
| 規範 |
|---|
| Indexed Database API 3.0 # ref-for-dom-idbfactory-deletedatabase① |
瀏覽器相容性
載入中…
另見
- 使用 IndexedDB
- 開始事務:
IDBDatabase - 使用事務:
IDBTransaction - 設定鍵的範圍:
IDBKeyRange - 檢索和修改資料:
IDBObjectStore - 使用遊標:
IDBCursor - 參考示例:待辦事項通知(檢視即時示例)。