IDBFactory: deleteDatabase() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 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①

瀏覽器相容性

另見