問題タブ [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 投票する
4 に答える
284 参照

javascript - 新しく作成されたすべての要素に属性を追加します

たとえば、すべての新しいリンク属性targetに値を追加する_blankか、すべての新しい<div>s 属性titleにランダムな値を追加します。以外のアイデアはありsetTimout()ますか?

UPD : のようなものが必要です.attrGlobal()この回答では、リンクとその属性でのみそれを行うことができますtargetが、すべての要素とそのすべての属性でそれを行う方法は?

UPD2 : SLaksが推奨MutationObserverするように試行していますが、追加ボタンhttp://jsfiddle.net/1337/wvfkc/5/をクリックすると、Firefox がフリーズします。

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

google-chrome - Chrome で開いた新しい Web ページの DOM にアクセスする方法

私はGoogle ChromeのNPSIMPLEサンプルコードを使用しているためのNPAPIプラグインを書いています。Chrome ブラウザーで開いた Web ページの DOM を取得する必要があります。私のプラグイン ソリューションには、background.html ファイルも含まれています。Chromeブラウザで開くと、NPAPIプラグインのメソッドが呼び出されます。私のプラグインはこのファイルの URL を取得できます。今、このファイルの DOM 構造を読みたいと思っています。

いくつか質問があります:

  1. ユーザーがブラウザで新しいページを開いたときに、プラグインをそのページに埋め込んで、そのページの DOM を取得する方法を教えてください。

  2. 新しいタブが開かれるたびに、My プラグインで通知を受け取るにはどうすればよいですか?

  3. プラグインへの DOM ミューテーション通知を取得するにはどうすればよいですか?

  4. NPAPI は DOM ミューテーション通知を取得するための API を提供しますか、それとも Content Script が唯一のオプションですか? コンテンツ スクリプトが唯一のオプションである場合、プラグインと content_script 間の通信を確立する方法は?

私もこの答えを得ようとしています。どんな助けでも大歓迎です...

前もって感謝します...

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

javascript - Mutation Observer が機能しない

jsフィドル

上記のスクリプトは正しく動作しません。DOMNodeInserted(Line19) を MutationObserver(line21) に置き換えたかったのですが、MutationObserver を使ったらうまくいきません。

21行目に何か問題があるはずですが、何が問題なのか、どうすればよいのかわかりません。
これをchrome28とfirefox23で確認しました。
これは chrome の拡張機能なので、「WebKitMutationObserver」や「MozMutationObserver」を使用する必要はありません。

解決策を教えてください。

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

javascript - javascript イベント: ドキュメントがテキストで完全に読み込まれたときに取得しますが、スクリプトはまだ実行されていません

DOMContentLoadeddocument.body.outerHTMLドキュメントがロードされ、そのスクリプトが実行された後に起動し、スクリプトが実行される前に( document.childNodes[document.childNodes.length-1].outerHTML) がいっぱいになった後にコードを実行したい

私はこれを試してみましたが、見つかった後に何度も実行されるように見えるので、mycode を実行する前にタイマー 200ms のジョブを実行しますが、タイマーなしで実行したいと思います

Chrome で動作する必要があります (したがって、beforescriptexecuted イベントはここでは動作しません)

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

javascript - div で属性の変化を観察する

への変化を観察しようとしています

この div の data-result 属性。

古い方法のほとんどは減価償却されているようです。MutationObserver が最善の方法であることに気付きました。自分で書きましたが、うまくいきませんでした。同様のonattrchange.jsを見つけました 。

これで、私は直面している問題を解決しようとしています。

入力の変更を検出できるこのjsfiddleを作成しました ($(document).on を使用) が、data-result 属性の変更は検出できません。

私は2つの方法を試しました... (1) ('body').attrchange (2)$(document).on('attrchange',...)

なぜこれが機能しないのかわかりません。(私はjsとjqueryにもかなり慣れていないため、コーディングによって学習しています)

編集:私がやりたいことを正確に行う同様のフィドルを見つけました。私は似たようなことをしていますが、小さな間違いを犯したと思います。

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

javascript - DOMNodeInserted/Removed イベント ポリフィル (または同様のイベント)

ノードの子が削除または追加されたときの変更をリッスンする方法が必要です。新しいアイテムが追加されたときに要素を一番下までスクロールする自動スクロール プラグインを作成しました。私が聞いているイベントはDOMNodeInsertedandDOMNodeRemovedです。

と のポリフィルを探していましDOMNodeInsertedDOMNodeRemoved。周りを見回しても、すでに存在しているものは見つかりませんでした。このイベントはすべてのブラウザーでサポートされているわけではなく、現在は推奨されていません。簡単に作成した単純な (単純な可能性が高い) ポリフィルがありますが、うまく機能するとは思えません。

これらのイベントが非推奨であることは知っていますが、要素の子の変更をリッスンするより良い方法はありますか?