From a7268ba82acc86d1951d9323fd9942135387dd01 Mon Sep 17 00:00:00 2001 From: Masahiro FUJIMOTO Date: Sat, 3 Aug 2024 00:54:51 +0900 Subject: [PATCH] =?UTF-8?q?2024/03/06=20=E6=99=82=E7=82=B9=E3=81=AE?= =?UTF-8?q?=E8=8B=B1=E8=AA=9E=E7=89=88=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8D?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/ja/web/api/idbcursor/advance/index.md | 64 +++++++------ files/ja/web/api/idbcursor/continue/index.md | 92 +++++++------------ .../api/idbcursor/continueprimarykey/index.md | 19 ++-- files/ja/web/api/idbcursor/delete/index.md | 23 ++--- files/ja/web/api/idbcursor/update/index.md | 19 ++-- 5 files changed, 97 insertions(+), 120 deletions(-) diff --git a/files/ja/web/api/idbcursor/advance/index.md b/files/ja/web/api/idbcursor/advance/index.md index ccb425046630fa..cbe860a083c5a9 100644 --- a/files/ja/web/api/idbcursor/advance/index.md +++ b/files/ja/web/api/idbcursor/advance/index.md @@ -1,18 +1,19 @@ --- -title: IDBCursor.advance() +title: "IDBCursor: advance() メソッド" +short-title: advance() slug: Web/API/IDBCursor/advance +l10n: + sourceCommit: 2c641e08878722bf29fb784d58c61873ce4a133a --- -{{APIRef("IndexedDB")}} +{{APIRef("IndexedDB")}} {{AvailableInWorkers}} -{{domxref("IDBCursor")}} インターフェイスの **`advance()`** メソッドはカーソルが位置を前進させる回数をセットします。 - -{{AvailableInWorkers}} +**`advance()`** は {{domxref("IDBCursor")}} インターフェイスのメソッドで、このカーソルが位置を前進させる回数を設定します。 ## 構文 ```js-nolint -cursor.advance(count); +advance(count) ``` ### 引数 @@ -22,43 +23,40 @@ cursor.advance(count); ### 返値 -{{jsxref('undefined')}} +なし ({{jsxref("undefined")}})。 ### 例外 -このメソッドは次のいずれかの {{domxref("DOMException")}} を発生することがあります: +このメソッドは次のいずれかの {{domxref("DOMException")}} を発生することがあります。 -| 例外 | 説明 | -| -------------------------- | --------------------------------------------------------- | -| `TransactionInactiveError` | この `IDBCursor` のトランザクションは活性化していません。 | -| `TypeError` | `count` パラメーターに渡された値がゼロや負の数です。 | -| `InvalidStateError` | カーソルは現在繰り返し中か、最後を過ぎています。 | +- `TransactionInactiveError` {{domxref("DOMException")}} + - : この `IDBCursor` のトランザクションは活性化していません。 +- {{jsxref("TypeError")}} + - : `count` パラメーターに渡された値がゼロや負の数です。 +- `InvalidStateError` {{domxref("DOMException")}} + - : カーソルは現在繰り返し中か、最後を過ぎています。 ## 例 -このシンプルな断片でトランザクションを作成し、オブジェクトストアを取得し、オブジェクトストアのレコードを一通り繰り返すカーソルを使っています。ここで `cursor.advance(2)` を使ってそれぞれ 2 回前進していて、つまり 1 つおきの結果だけが表示されます。`advance()` は {{domxref("IDBCursor.continue")}} と同様に動作しますが、常に次のレコードに移動するのでなく、一度に複数のレコードを飛び越えられるのが違います。 +このシンプルな例では、トランザクションを作成し、オブジェクトストアを取得し、オブジェクトストアのレコードを一通り繰り返すカーソルを使っています。ここで `cursor.advance(2)` を使ってそれぞれ 2 回前進していて、つまり 1 つおきの結果だけが表示されます。`advance()` は {{domxref("IDBCursor.continue")}} と同様に動作しますが、常に次のレコードに移動するのでなく、一度に複数のレコードを飛び越えられるのが違います。 注意点としてループの繰り返しで、カーソルオブジェクトの現在のレコードのテータを `cursor.value.foo`を使って取得できます。完全な動作例は、[IDBCursor の例](https://github.com/mdn/dom-examples/tree/main/indexeddb-examples/idbcursor)([ライブ例を見る](https://mdn.github.io/dom-examples/indexeddb-examples/idbcursor/))を見てください。 ```js function advanceResult() { - list.innerHTML = ""; - var transaction = db.transaction(["rushAlbumList"], "readonly"); - var objectStore = transaction.objectStore("rushAlbumList"); + list.textContent = ""; + const transaction = db.transaction(["rushAlbumList"], "readonly"); + const objectStore = transaction.objectStore("rushAlbumList"); - objectStore.openCursor().onsuccess = function (event) { - var cursor = event.target.result; + objectStore.openCursor().onsuccess = (event) => { + const cursor = event.target.result; if (cursor) { - var listItem = document.createElement("li"); - listItem.innerHTML = - "" + - cursor.value.albumTitle + - ", " + - cursor.value.year; + const listItem = document.createElement("li"); + listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`; list.appendChild(listItem); cursor.advance(2); } else { - console.log("全エントリーを 1 つおきに表示しました。"); + console.log("全項目を 1 つおきに表示しました。"); } }; } @@ -74,10 +72,10 @@ function advanceResult() { ## 関連情報 -- [IndexedDB を使用する](/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB) -- トランザクションを開始する : {{domxref("IDBDatabase")}} -- トランザクションを使用する : {{domxref("IDBTransaction")}} -- キーレンジを設定する : {{domxref("IDBKeyRange")}} -- データの取得と変更 : {{domxref("IDBObjectStore")}} -- カーソルを使用する : {{domxref("IDBCursor")}} -- リファレンスの例 : [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([ライブ例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) +- [IndexedDB の使用](/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB) +- トランザクションの開始: {{domxref("IDBDatabase")}} +- トランザクションの使用: {{domxref("IDBTransaction")}} +- キーの範囲の設定: {{domxref("IDBKeyRange")}} +- データの取得と変更: {{domxref("IDBObjectStore")}} +- カーソルの使用: {{domxref("IDBCursor")}} +- 参考例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) diff --git a/files/ja/web/api/idbcursor/continue/index.md b/files/ja/web/api/idbcursor/continue/index.md index ec3774b4ccce58..b686849f44df56 100644 --- a/files/ja/web/api/idbcursor/continue/index.md +++ b/files/ja/web/api/idbcursor/continue/index.md @@ -1,66 +1,44 @@ --- -title: IDBCursor.continue() +title: "IDBCursor: continue() メソッド" +short-title: continue() slug: Web/API/IDBCursor/continue +l10n: + sourceCommit: 2c641e08878722bf29fb784d58c61873ce4a133a --- -{{APIRef("IndexedDB")}} +{{APIRef("IndexedDB")}} {{AvailableInWorkers}} -**`continue()`** は {{domxref("IDBCursor")}} インターフェースのメソッドで、カーソルを現在の方向に次の位置、任意のキーパラメーターに一致するキーを持つアイテムまで進めます。キーを指定しない場合、カーソルはその方向に基づいて、すぐ隣の位置へ進みます。 - -{{AvailableInWorkers}} +**`continue()`** は {{domxref("IDBCursor")}} インターフェイスのメソッドで、カーソルを現在の方向に次の位置、任意のキーパラメーターに一致するキーを持つアイテムまで進めます。キーを指定しない場合、カーソルはその方向に基づいて、すぐ隣の位置へ進みます。 ## 構文 ```js-nolint -cursor.continue(key); +continue() +continue(key) ``` ### 引数 - `key` {{optional_inline}} - - : カーソルを進めるためのキーです。 + - : このカーソルを進めるためのキーです。 + +### 返値 + +なし ({{jsxref("undefined")}})。 ### 例外 このメソッドは次の内いずれかの {{domxref("DOMException")}} を発生させることがあります。 - - - - - - - - - - - - - - - - - - - - - -
例外解説
TransactionInactiveErrorこの `IDBCursor` のトランザクションがアクティブではありません。
DataError -

- キーパラメーターが以下の状態のうちのいずれかである可能性があります。 -

-
    -
  • キーが妥当なキーではない
  • -
  • - キーがこのカーソルの位置と同じかそれより小さく、カーソルの方向が - next または nextunique である -
  • -
  • - キーがこのカーソルの位置と同じかそれより大きく、カーソルの方向が - prev または prevunique である -
  • -
-
InvalidStateErrorカーソルが現在走査中または末尾を越えて走査しました。
+- `TransactionInactiveError` {{domxref("DOMException")}} + - : この `IDBCursor` のトランザクションがアクティブではありません。 +- `DataError` {{domxref("DOMException")}} + - : key 引数が以下の状態のうちのいずれかである可能性があります。 + - key が妥当なキーではない + - キーがこのカーソルの位置と同じかそれより小さく、カーソルの方向が `next` または `nextunique` である。 + - キーがこのカーソルの位置と同じかそれより大きく、カーソルの方向が `prev` または `prevunique` である。 +- `InvalidStateError` {{domxref("DOMException")}} + - : カーソルが現在走査中または末尾を越えて走査しました。 ## 例 @@ -68,19 +46,19 @@ cursor.continue(key); ```js function displayData() { - var transaction = db.transaction(["rushAlbumList"], "readonly"); - var objectStore = transaction.objectStore("rushAlbumList"); + const transaction = db.transaction(["rushAlbumList"], "readonly"); + const objectStore = transaction.objectStore("rushAlbumList"); - objectStore.openCursor().onsuccess = function (event) { - var cursor = event.target.result; + objectStore.openCursor().onsuccess = (event) => { + const cursor = event.target.result; if (cursor) { - var listItem = document.createElement("li"); - listItem.innerHTML = cursor.value.albumTitle + ", " + cursor.value.year; + const listItem = document.createElement("li"); + listItem.textContent = `${cursor.value.albumTitle}, ${cursor.value.year}`; list.appendChild(listItem); cursor.continue(); } else { - console.log("全エントリーを表示しました。"); + console.log("全項目を表示しました。"); } }; } @@ -97,9 +75,9 @@ function displayData() { ## 関連情報 - [IndexedDB の使用](/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB) -- トランザクションの開始 : {{domxref("IDBDatabase")}} -- トランザクションを使う : {{domxref("IDBTransaction")}} -- キーの範囲設定 : {{domxref("IDBKeyRange")}} -- データの取得と変更 : {{domxref("IDBObjectStore")}} -- カーソルを使う : {{domxref("IDBCursor")}} -- リファレンス 実例 : [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) +- トランザクションの開始: {{domxref("IDBDatabase")}} +- トランザクションの使用: {{domxref("IDBTransaction")}} +- キーの範囲の設定: {{domxref("IDBKeyRange")}} +- データの取得と変更: {{domxref("IDBObjectStore")}} +- カーソルの使用: {{domxref("IDBCursor")}} +- 参考例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) diff --git a/files/ja/web/api/idbcursor/continueprimarykey/index.md b/files/ja/web/api/idbcursor/continueprimarykey/index.md index 0389e2581d0fcf..5c588f6834994a 100644 --- a/files/ja/web/api/idbcursor/continueprimarykey/index.md +++ b/files/ja/web/api/idbcursor/continueprimarykey/index.md @@ -1,21 +1,20 @@ --- -title: IDBCursor.continuePrimaryKey() +title: "IDBCursor: continuePrimaryKey() メソッド" +short-title: continuePrimaryKey() slug: Web/API/IDBCursor/continuePrimaryKey l10n: - sourceCommit: d42b609444efb915ab46117f59985d67dda21eb6 + sourceCommit: 2c641e08878722bf29fb784d58c61873ce4a133a --- -{{APIRef("IndexedDB")}} +{{APIRef("IndexedDB")}} {{AvailableInWorkers}} -{{domxref("IDBCursor")}} インターフェイスの **`continuePrimaryKey()`** メソッドは、カーソルを、キーが引数として指定するキーと一致し、かつ主キーが引数として指定する主キーと一致するアイテムに進めます。 +**`continuePrimaryKey()`** は {{domxref("IDBCursor")}} インターフェイスのメソッドで、カーソルを、キーが引数として指定するキーと一致し、かつ主キーが引数として指定する主キーと一致するアイテムに進めます。 典型的な使用例は、キーを 1 個ずつ比較することなく、前に使用したカーソルが閉じた場所から反復を再開することです。 -新しいカーソルのデータを読み込む前にこのメソッドを複数回呼び出す (たとえば、同じ `onsuccess` ハンドラーで `continuePrimaryKey()` を 2 回呼び出す) と、カーソルの値を得たフラグがクリアされているため、2 回目の呼び出しで `InvalidStateError` 例外が投げられます。 +新しいカーソルのデータを読み込む前にこのメソッドを複数回呼び出す (たとえば、同じ `onsuccess` ハンドラーで `continuePrimaryKey()` を 2 回呼び出す) と、カーソルの値を得たフラグがクリアされているため、2 回目の呼び出しで `InvalidStateError` 例外が発生します。 -このメソッドは、インデックスを対象とするカーソルでのみ有効です。オブジェクトストアを対象とするカーソルで使うと、エラーが投げられます。 - -{{AvailableInWorkers}} +このメソッドは、インデックスを対象とするカーソルでのみ有効です。オブジェクトストアを対象とするカーソルで使うと、エラーが発生します。 ## 構文 @@ -32,7 +31,7 @@ continuePrimaryKey(key, primaryKey) ### 返値 -なし ({{jsxref("undefined")}}) +なし ({{jsxref("undefined")}})。 ### 例外 @@ -94,4 +93,4 @@ request.onsuccess = (event) => { - キーの範囲の設定: {{domxref("IDBKeyRange")}} - データの取得と変更: {{domxref("IDBObjectStore")}} - カーソルの使用: {{domxref("IDBCursor")}} -- リファレンス例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) +- 参考例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) diff --git a/files/ja/web/api/idbcursor/delete/index.md b/files/ja/web/api/idbcursor/delete/index.md index f9dc61cbf89869..0a57fd24331420 100644 --- a/files/ja/web/api/idbcursor/delete/index.md +++ b/files/ja/web/api/idbcursor/delete/index.md @@ -1,17 +1,16 @@ --- -title: IDBCursor.delete() +title: "IDBCursor: delete() メソッド" +short-title: delete() slug: Web/API/IDBCursor/delete l10n: - sourceCommit: d42b609444efb915ab46117f59985d67dda21eb6 + sourceCommit: 2c641e08878722bf29fb784d58c61873ce4a133a --- -{{APIRef("IndexedDB")}} +{{APIRef("IndexedDB")}} {{AvailableInWorkers}} -{{domxref("IDBCursor")}} インターフェイスの **`delete()`** メソッドは、{{domxref("IDBRequest")}} オブジェクトを返し、別のスレッドで、カーソルの位置を変えずにカーソルが指しているレコードを削除します。レコードが削除されると、カーソルの値は `null` になります。 +**`delete()`** は {{domxref("IDBCursor")}} インターフェイスのメソッドで、{{domxref("IDBRequest")}} オブジェクトを返し、別のスレッドで、カーソルの位置を変えずにカーソルが指しているレコードを削除します。レコードが削除されると、カーソルの値は `null` になります。 -注意点として、{{domxref("IDBIndex.openKeyCursor()")}} で取得したカーソルでは `delete()` (や {{domxref("IDBCursor.update()")}}) を呼ぶことはできません。このような用途のためには、かわりに {{domxref("IDBIndex.openCursor()")}} を使用しないといけません。 - -{{AvailableInWorkers}} +注意点として、`delete()` (や {{domxref("IDBCursor.update()")}}) を {{domxref("IDBIndex.openKeyCursor()")}} で取得したカーソルで呼ぶことはできません。このような用途のためには、かわりに {{domxref("IDBIndex.openCursor()")}} を使用しないといけません。 ## 構文 @@ -21,11 +20,13 @@ delete() ### 引数 -なし +なし。 ### 返値 -この操作に関して続くイベントが発火する {{domxref("IDBRequest")}} オブジェクト。`result` 属性は `undefined` になります。 +この操作に関連する後続のイベントが発生する {{domxref("IDBRequest")}} オブジェクト。 + +処理が成功した場合、リクエストの {{domxref("IDBRequest.result", "result")}} プロパティの値は `undefined` です。 ### 例外 @@ -67,7 +68,7 @@ function deleteResult() { } cursor.continue(); } else { - console.log("エントリーを表示しました。"); + console.log("項目をを表示しました。"); } }; } @@ -89,4 +90,4 @@ function deleteResult() { - キーの範囲の設定: {{domxref("IDBKeyRange")}} - データの取得と変更: {{domxref("IDBObjectStore")}} - カーソルの使用: {{domxref("IDBCursor")}} -- リファレンス例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) +- 参考例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) diff --git a/files/ja/web/api/idbcursor/update/index.md b/files/ja/web/api/idbcursor/update/index.md index dd05f9fb429763..0ec384d040ad35 100644 --- a/files/ja/web/api/idbcursor/update/index.md +++ b/files/ja/web/api/idbcursor/update/index.md @@ -1,17 +1,16 @@ --- -title: IDBCursor.update() +title: "IDBCursor: update() メソッド" +short-title: update() slug: Web/API/IDBCursor/update l10n: - sourceCommit: d42b609444efb915ab46117f59985d67dda21eb6 + sourceCommit: 2c641e08878722bf29fb784d58c61873ce4a133a --- -{{APIRef("IndexedDB")}} +{{APIRef("IndexedDB")}} {{AvailableInWorkers}} -{{domxref("IDBCursor")}} インターフェイスの **`update()`** メソッドは、{{domxref("IDBRequest")}} オブジェクトを返し、別のスレッドで、オブジェクトストア内のカーソルが現在指している値を更新します。カーソルが削除したばかりのレコードを指している場合は、新しいレコードが作成されます。 +**`update()`** は {{domxref("IDBCursor")}} インターフェイスのメソッドで、{{domxref("IDBRequest")}} オブジェクトを返し、別のスレッドで、オブジェクトストア内のカーソルが現在指している値を更新します。カーソルが削除したばかりのレコードを指している場合は、新しいレコードが作成されます。 -注意点として、{{domxref("IDBIndex.openKeyCursor()")}} で取得したカーソルで `update()` (や {{domxref("IDBCursor.delete()")}}) を呼ぶことはできません。このような用途のためには、かわりに {{domxref("IDBIndex.openCursor()")}} を使わなければなりません。 - -{{AvailableInWorkers}} +注意点として、`update()` (や {{domxref("IDBCursor.delete()")}}) を {{domxref("IDBIndex.openKeyCursor()")}} で取得したカーソルで呼ぶことはできません。このような用途のためには、かわりに {{domxref("IDBIndex.openCursor()")}} を使用しないといけません。 ## 構文 @@ -26,7 +25,9 @@ update(value) ### 返値 -この操作に関する続くイベントが発火する {{domxref("IDBRequest")}} オブジェクトです。 +この操作に関連する後続のイベントが発生する {{domxref("IDBRequest")}} オブジェクト。 + +処理が成功した場合、リクエストの {{domxref("IDBRequest.result", "result")}} プロパティの値は `undefined` です。 ### 例外 @@ -97,4 +98,4 @@ function updateResult() { - キーの範囲の設定: {{domxref("IDBKeyRange")}} - データの取得と変更: {{domxref("IDBObjectStore")}} - カーソルの使用: {{domxref("IDBCursor")}} -- リファレンス例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/)) +- 参考例: [To-do Notifications](https://github.com/mdn/dom-examples/tree/main/to-do-notifications) ([動く例を見る](https://mdn.github.io/dom-examples/to-do-notifications/))