問題タブ [mutation-observers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
59 参照

javascript - JavaScript API インターフェイスにプレフィックスを付ける方法は?

MutationObserverの MDN ドキュメントの互換性テーブルには、Chrome 18 と Safari 6 の基本的なサポートが-webkitプレフィックス付きで一覧表示されています。

これはブラウザの内部的なものですか...または、のような接頭辞を付ける実際の方法はありますMutationObserver()か?

私の仮定は、それは次のように単純ではないということです:

…でも、もしかして?

0 投票する
1 に答える
23057 参照

javascript - MutationObserver が機能しない

次のコードを検討してください。

これはこれを少し修正したものです

jsbinバージョンページを操作しても、ログは生成されません。どこが間違っていますか?行を置き換えると注意してください

スクリプトは動作をオンにします...

0 投票する
1 に答える
463 参照

javascript - アドオンで MutationObservers を使用する

アドオン内で MutationObserver を使用しようとしています。したがって、オブザーバーを設定する content-script を挿入します。これは何とか機能しているように見えますが、検出されたミューテーションは JSON にシリアル化できないようです。しかし、実際には、このライブラリを使用してミューテーションを監視したいと考えています。これは、アドオンのミューテーション監視に関してMozilla によって公式に言及されています。しかし、これはまったく機能しません。

それで、コンテンツスクリプト内で動作するミューテーションオブザーバー(より良いミューテーションサマリー-リンクを参照)の実際の例を誰かが手に入れましたか?

私のコードは次のようになります。

0 投票する
1 に答える
37337 参照

javascript - DOM 全体でノードを検出する MutationObserver のパフォーマンス

MutationObserver特定の HTML 要素が HTML ページのどこかに追加されているかどうかを検出するために使用することに興味があります。<li>例として、DOM のどこかに が追加されているかどうかを検出したいとします。

MutationObserverこれまで見てきたすべての例は、ノードが特定のコンテナーに追加されているかどうかを検出するだけでした。例えば:

いくつかの HTML

MutationObserver意味

したがって、この例では、MutationObserverは非常に特定のコンテナ ( ) を監視して、が追加されているul#my-listかどうかを確認するように設定されています。<li>

あまり具体的<li>ではなく、次のように HTML 本文全体で 's を監視したい場合、それは問題ですか?

自分でセットアップした基本的な例で動作することはわかっています...しかし、これを行うことはお勧めできませんか? これにより、パフォーマンスが低下しますか? もしそうなら、そのパフォーマンスの問題をどのように検出して測定しますか?

すべての例が対象となるコンテナーに非常に具体的である理由があるのではないかと考えましたMutationObserver...しかし、よくわかりません。

0 投票する
0 に答える
163 参照

javascript - jqtreeでMutationObserverを使用するには?

私はjqtreeを持っており、 AJAXを使用して変更されたノードを送信する必要があります。そのためには、再帰関数を使用してJSON全体を読み取りました。問題は、影響を受けたノードを送信したいだけです。ツリーはドラッグ アンド ドロップであるため、ユーザーは一度に 1 つの項目しか変更できません。

明確化:

ページが読み込まれ、構造も同様です (firebug を確認してください)。 ここに画像の説明を入力

次に、ユーザーは次のものを選択してドラッグchild1node2ます。 ここに画像の説明を入力

vpaisそうすることで新しいJSONが生成され、 (親)とvfilhos(子)に分離・分類されます ここに画像の説明を入力

ただし、ご覧のとおり、変更されるノードは 1 つだけなので、すべてを送信する必要はありませんparents(children一度に 1 つのアイテムしかドラッグできないため、常に送信されます)。

ここで SO で男が MutationObserver について教えてくれまし。理論的には素晴らしいですが、F をどのように使用するのか?!?、それは非常に複雑です。理論はわかっていますが、それを使用していますは別の話ですが、私を助けてくれますか?

@マウザーに感謝

ここまで作ってくれてありがとう:)

私のコード:

0 投票する
0 に答える
623 参照

javascript - MutationObserver を使用して双方向同期 dom を実装する方法

MutationObserver を使用して dom で双方向同期を実装できますか。どちらの側でも変更を加えることができ、同じように別の側に反映する必要があります。(これは共同ブラウジングに使用されます。)

https://github.com/dvideby0/screenshareのようにこれを作成したのと同じライブラリが あります が、これの問題は、TreeMirror js を使用して一方向の同期のみを実装していることです。クライアントは TreeMirror を使用します (変更は行われますが、サーバーまたは共有者には戻されません)。サーバーまたは共有画面は TreeMirrorClient クラスを使用します (変更をリッスンして別のクライアントに送信します)。

Dom の 2 つの方法の同期を実装した他のライブラリまたはサンプル コードはありますか。