Incorrect target reported in all MutationRecords of type `childList`
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 50/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- javascript
- 領域
- web-dev
調査の方向性
esm/interface/mutation-observer.js のリンク先の位置から開始し、parseHTML と MutationObserver を使って再現を実行します。childList MutationRecord が挿入または削除されたノードの親ノードを target として報告することを確認し、アサーションが #document ではなく BODY を観測するようにします。
索引モデルが issue の本文から書いたものです。
説明
Running this code:
import { parseHTML } from "linkedom";
const { document, MutationObserver } = parseHTML(
"<!doctype html><html><head></head><body>",
);
let mo = new MutationObserver((records) => {
let { nodeName } = records[0].target;
console.assert(nodeName === "BODY", `Expected BODY, got ${nodeName}.`);
});
mo.observe(document, { subtree: true, childList: true });
document.body.appendChild(document.createTextNode(""));
results in this error:
Assertion failed: Expected BODY, got #document.
If I'm reading it correctly, it looks like the target for a mutation is always reported as the node passed to observe (at least for childList) which is incorrect; for the childList MutationRecord type, the target should be the parentNode of the inserted/removed node(s).
- 主要言語
- HTML
- スター
- 2.1k
- フォーク
- 104
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
WebReflection/linkedom のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
WebReflection/linkedom#329 · コメント 5 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
WebReflection/linkedom#327 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
WebReflection/linkedom#326 · コメント 5 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
WebReflection/linkedom#321 · コメント 1 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
WebReflection/linkedom#318 · コメント 6 件 ·
WebReflection/linkedom の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
status: waiting triage
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
freeCodeCamp/freeCodeCamp#70412 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
openedx/frontend-app-admin-console#239 ·
メンテナーはふだん 1 日以内に返信
-
bug good first issue web
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100