IDBFactory
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.
メモ: この機能はウェブワーカー内で利用可能です。
IDBFactory
は IndexedDB API のインターフェイスで、indexedDB への非同期アクセスを提供します。 このインターフェイスを実装するオブジェクトは、window.indexedDB
です。このオブジェクトを使用すれば、IDBFactory
インターフェイスに直接アクセスせずに、IndexedDB を開いたり (生成したり接続したり)、削除したりできます。
インスタンスメソッド
IDBFactory.open()
-
データベースへの接続を開く要求をする現在のメソッドです。
IDBFactory.deleteDatabase()
-
データベースの削除を要求するメソッドです。
IDBFactory.cmp()
-
2 つのキーを比較して、大きいほうの値を戻り値として返すメソッドです。
IDBFactory.databases()
-
利用できるすべてのデータベースの配列(名前とバージョンを含む)で履行されるプロミスを返します。
例
次のコードスニペットでは、データベースを開く要求をし、成功の場合と失敗の場合のイベントハンドラーを登録しています。完全に動作する例は、To-do Notifications アプリケーション (動く例を見る) を見てください。
js
// データベースのバージョン 4 を開きましょう。
const DBOpenRequest = window.indexedDB.open("toDoList", 4);
// これら 2 個のイベントハンドラーは、データベースが正常に開かれたか、失敗した時に動作します。
DBOpenRequest.onerror = (event) => {
console.error("データベースの読み込みに失敗しました。");
};
DBOpenRequest.onsuccess = (event) => {
console.info("データベースを初期化しました。");
// データベースを開いた結果を変数 db に保存します。これはトランザクションを開くときなど、後でたくさん使います。
db = DBOpenRequest.result;
};
仕様書
Specification |
---|
Indexed Database API 3.0 # factory-interface |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キーの範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)