問題タブ [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 に答える
2047 参照

javascript - トリガーされた MutationObserver のスタック トレースを取得するにはどうすればよいですか?

まず、これは「ミューテーション オブザーバーの作成方法」ではありません。投稿して、API を見てきました。

突然変異が発生したときの「ソース」を表示する方法を誰かが知っているかどうか疑問に思っていました。何らかの回避策である可能性が最も高いです-APIドキュメントでこれについて言及されていません。

display要素がにstyle設定されている場所を見つけようとしていますnone

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

私はいくつかの突然変異イベントを持っており、それらは次のように見えます:

JSソースのどこから来ているのか知りたいだけです! 何か案は?

私はctrl + fを試しましたが、役に立たなかったことに注意してください。

デバッガー/例外出力 (Chrome 用の WebkitMutationObserver も試しましたが、同じ結果):

http://i.imgur.com/jYeqCPX.png

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

internet-explorer - IE の Chrome Frame エラー (ミューテーション オブザーバー)

IE で Google Chrome Frame と Mutation-summary ライブラリを使用しています。Google サイトを確認しましたが、ミューテーション オブザーバーのサポートの欠如について言及しているものはありません。エラーは、tree_mirror.js ファイルの 143 行目にあります。

IEデバッグからのエラーメッセージは

誰かがこれについて何か洞察を持っていますか? クロムフレームがミューテーションオブザーバーをサポートしていないと述べているものを見つけることができないようです

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

callback - どの MutationObserver からコールバックが呼び出されたかを検出する方法はありますか?

2 つの異なる dom ノードに対して 1つのコールバック関数と 2 つのMutationObserversがある場合、呼び出されたときにどのオブザーバーがコールバックをトリガーしたかを知る方法はありますか? コールバックが実行する必要がある作業はほぼ同じなので、オブザーバーごとに 1 つ作成するのは望ましくないようです。

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

javascript - Javascript:ページでスタイルの変更が発生したことを検出する方法は?

styleページ上の任意の DOM 要素で変更が発生したとき (つまり、任意の要素の位置、高さ、幅、可視性などの変更) を検出したいと考えています。[質問とは直接関係ありませんが、これは私が取り組んでいるクロム拡張用です]

Mutation Observer API を使用しています。ただし、シリアル化されたマークアップへの変更のみを検出でき、直接の DOM プロパティは検出できないようです。つまり、要素のstyle 属性の変更は検出できますが、実際のstyle プロパティの変更は検出できません(適用される CSS に基づいて、style属性の変更などにより実際のプロパティが変更される可能性があるため)。

そのため、要素のサブツリー全体のすべての属性の変更を観察する必要があります。FB などの一部のサイトでは、これを行うと多くのミューテーション イベントが生成されるため、これはパフォーマンス ヒットを引き起こしているようですが、私は小さなサブセットのみに関心があります。document

style関連する変更のみを追跡するより良い方法はありますか?

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

javascript - MutationObserver - ページを再レンダリングする前にコールバックが実行されますか?

要素 (および/またはその子; subtree: true および childList: true) を観察しているときに、コールバックが終了するまでブラウザーが変更の適用 (レンダリング) を待機するかどうか疑問に思っていましたか?

コールバックで DOM をすばやく変更する必要があるため、最初に観察された (部分的な) 変更は有効になりません。

知ってる人いたらよろしくお願いします。

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

javascript - Chrome のミューテーション サマリーがコールバックを実行しない

Mutation-summary Javascript ライブラリを使用して Tumblr の DOM を監視し、新しいページが読み込まれたときにアラートを作成しています。知らない人のために説明すると、Tumblr には一種の「無限スクロール」機能があり、ユーザーが十分に下にスクロールすると、現在のページが次のページを自動ロードします。次のページは、jQuery を使用して現在のページに追加されます。

私のスクリプト:

何らかの理由で、ID「container」を持つ要素が目に見えて変更されているにもかかわらず、コールバック関数が呼び出されないため、アラート メッセージが表示されません。新しいページは #container に追加されるのではなく、#container の子または孫に追加されます。正確にはわかりませんが、それは問題ではありません。この場合、子供が変更された場合、親も同様です。

ここに私の問題を示す簡単な JSFiddle があります: http://jsfiddle.net/jcZ84/

0 投票する
2 に答える
7998 参照

javascript - グリースモンキー スクリプトで要素の作成を監視しますか?

ドキュメントの読み込み中にクラス「nav」を持つ要素が作成されたときに通知を受ける必要があります。グーグルで MutationObservers を見つけて完璧だと思ったのですが、どうもうまくいきません。

私も試しました。

しかし、どちらの場合も、ページの読み込み時に「ナビゲーションの作成」ログが発生しました。私は何が欠けていますか?