IDBFactory: deleteDatabase() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
メモ: この機能はウェブワーカー内で利用可能です。
deleteDatabase()
は IDBFactory
インターフェイスのメソッドで、データベースの削除を要求します。このメソッドは直ちに IDBOpenDBRequest
オブジェクトを返し、非同期でデータベースの削除処理を行います。
データベースの削除が成功した場合、このメソッドから返された request
オブジェクトにおいて、result
に undefined
が設定された状態で success
イベントが発生します。 データベースの削除中にエラーが発生した場合、このメソッドから返された request
オブジェクトで、error
イベントが発生します。
deleteDatabase()
が呼び出されると、この具体的なデータベースに対して開いている他の接続には versionchange イベントが送られます。
構文
// 現行標準の場合
deleteDatabase(name)
// `options` (下記参照)を使用した実験的な版
deleteDatabase(name)
deleteDatabase(name, options)
引数
name
-
削除したいデータベースの名前。存在しないデータベースを削除しようとしても、例外は発生しません。これとは対照的に、
IDBDatabase.deleteObjectStore()
は、指定したオブジェクトストアが存在しない場合に例外が発生します。 options
省略可 非標準-
Gecko では、バージョン 26 以降、
permanent
(既定値)の IndexedDB を削除するか、temporary
ストレージ (別名共有プール)の indexedDB を削除するかを指定する、非標準のオプションストレージ引数を含めることができます。
返値
この要求に関連のある連続したイベントが発生する IDBOpenDBRequest
。
処理が成功した場合、リクエストの result
プロパティの値は null
となります。
例
const DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList");
DBDeleteRequest.onerror = (event) => {
console.error("データベースの削除中にエラーが発生しました。");
};
DBDeleteRequest.onsuccess = (event) => {
console.log("データベースが正常に削除されました。");
console.log(event.result); // null のはず
};
仕様書
Specification |
---|
Indexed Database API 3.0 # ref-for-dom-idbfactory-deletedatabase① |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キーの範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)