Skip to content

Commit

Permalink
2024/07/26 時点の英語版に基づき更新
Browse files Browse the repository at this point in the history
  • Loading branch information
mfuji09 committed Aug 23, 2024
1 parent 9299db9 commit 60c73c9
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 28 deletions.
34 changes: 20 additions & 14 deletions files/ja/web/api/mutationobserver/disconnect/index.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,42 @@
---
title: MutationObserver.disconnect()
title: "MutationObserver: disconnect() メソッド"
short-title: disconnect()
slug: Web/API/MutationObserver/disconnect
l10n:
sourceCommit: cfb7587e3e3122630ad6cbd94d834ecadbe0a746
---

{{APIRef("DOM WHATWG")}}

{{domxref("MutationObserver")}} の **`disconnect()`** メソッドは、オブザーバーに変更の監視を停止させます。 オブザーバーは、 {{domxref("MutationObserver.observe", "observe()")}} メソッドを再度呼び出すことで再利用できます。
{{domxref("MutationObserver")}} の **`disconnect()`** メソッドは、オブザーバーに変更の監視を停止させます。

オブザーバーは、{{domxref("MutationObserver.observe", "observe()")}} メソッドを再度呼び出すことで再利用できます。

## 構文

```
mutationObserver.disconnect()
```js-nolint
disconnect()
```

### 引数

なし
なし

### 戻り値
### 返値

`undefined`
`undefined`

> [!NOTE]
> すでに検知されているものの、まだオブザーバーに報告されていない変更の通知は、すべて破棄されます。
> すでに検出されているが、まだオブザーバーに報告されていない変化の通知はすべて破棄されます。
> 検出されているが未報告の変化を保持し、処理するには、{{domxref("MutationObserver.takeRecords()", "takeRecords()")}} メソッドを使用してください。
## 使用における注意点
## 使用上の注意

監視されている要素が DOM から削除され、その後ブラウザのガベージコレクション機構によって解放された場合`MutationObserver` も同様に削除されます
監視対象の要素が DOM から除去され、その後ブラウザーのガベージコレクション機構によって解放された場合`MutationObserver` は除去された要素の監視を停止します。しかし、`MutationObserver` 自体は、他にも監視対象の要素が存在する場合には、その監視を続けることができます

##

この例では、オブザーバを作成してから切断し、再利用できるようにします。
この例では、オブザーバーを作成してから切断し、再利用できるようにします。

```js
const targetNode = document.querySelector("#someElement");
Expand All @@ -42,15 +48,15 @@ const observerOptions = {
const observer = new MutationObserver(callback);
observer.observe(targetNode, observerOptions);

/* some time later... */
/* some time later */

observer.disconnect();
```

## 仕様
## 仕様書

{{Specifications}}

## ブラウザ互換性
## ブラウザーの互換性

{{Compat}}
33 changes: 19 additions & 14 deletions files/ja/web/api/mutationobserver/takerecords/index.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,37 @@
---
title: MutationObserver.takeRecords()
title: "MutationObserver: takeRecords() メソッド"
short-title: takeRecords()
slug: Web/API/MutationObserver/takeRecords
l10n:
sourceCommit: cfb7587e3e3122630ad6cbd94d834ecadbe0a746
---

{{APIRef("DOM WHATWG")}}

{{domxref("MutationObserver")}} の **`takeRecords()`** メソッドは、検出されたがオブザーバのコールバック関数で処理されていない DOM の変更に一致するすべてのリストを返し、変更キューは空のままにします。 最も一般的な使用例は、オブザーバを切断する直前に保留中の変更記録をすべて取得し、オブザーバを停止する際に保留中の変更を処理できるようにすることです。
{{domxref("MutationObserver")}} の **`takeRecords()`** メソッドは、検出されたがオブザーバーのコールバック関数で処理されていない DOM の変更に一致するすべてのリストを返し、変更キューは空のままにします。

最も一般的な使用例は、オブザーバーを切断する直前に保留中の変更記録をすべて取得し、オブザーバーを停止する際に保留中の変更を処理できるようにすることです。

## 構文

```
const mutationRecords = mutationObserver.takeRecords()
```js-nolint
takeRecords()
```

### 引数

なし
なし

### 戻り値
### 返値

{{domxref("MutationRecord")}} オブジェクトの配列で、そのそれぞれがドキュメントの DOM ツリーの監視された部分に適用された変更を記述します。
{{domxref("MutationRecord")}} オブジェクトの配列で、そのそれぞれが文書の DOM ツリーの監視された部分に適用された変更を記述します。

> [!NOTE]
> 発生したものの、オブザーバーのコールバックに伝えられなかった変更キューは、 `takeRecords()`をコールした後は空のままになります。
##

この例では、オブザーバを切断する直前に `takeRecords()`を呼び出して、未伝達の{{domxref("MutationRecord")}}を処理する方法を示します。
この例では、オブザーバーを切断する直前に `takeRecords()`を呼び出して、未伝達の{{domxref("MutationRecord")}}を処理する方法を示します。

```js
const targetNode = document.querySelector("#someElement");
Expand All @@ -38,25 +43,25 @@ const observerOptions = {
const observer = new MutationObserver(callback);
observer.observe(targetNode, observerOptions);

/* ...later, when it's time to stop observing... */
/* 後で、監視を停止する時点になったら... */

/* handle any still-pending mutations */
/* 未処理のままのすべての変更を処理する */

let mutations = observer.takeRecords();

observer.disconnect();

if (mutations) {
if (mutations.length > 0) {
callback(mutations);
}
```

12-17 行目のコードは、処理されていない変更の記録を取得し、その記録を処理できるようにコールバックを呼び出します。これは、{{domxref("MutationObserver.disconnect", "disconnect()")}} を呼び出して DOM の観測を停止する直前に行われます。
このコードは、処理されていない変更の記録を取得し、その記録を処理できるようにコールバックを呼び出します。これは、{{domxref("MutationObserver.disconnect", "disconnect()")}} を呼び出して DOM の観測を停止する直前に行われます。

## 仕様
## 仕様書

{{Specifications}}

## ブラウザ互換性
## ブラウザーの互換性

{{Compat}}

0 comments on commit 60c73c9

Please sign in to comment.