IDBFactory
Baseline
広く利用可能
*
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
* この機能の一部は、対応レベルが異なる場合があります。
メモ: この機能はウェブワーカー内で利用可能です。
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;
};
仕様書
| 仕様書 |
|---|
| Indexed Database API 3.0> # factory-interface> |
ブラウザーの互換性
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase - トランザクションの使用:
IDBTransaction - キーの範囲の設定:
IDBKeyRange - データの取得と変更:
IDBObjectStore - カーソルの使用:
IDBCursor - リファレンス例: To-do Notifications (動く例を見る)