まず、これは「変異観察者の作成方法」ではありません。私はAPIを見てきました。トリガされたMutationObserverのスタックトレースはどのように取得されますか?
誰かが突然変異が起こったときの「ソース」を表示する方法を知っているのだろうかと思っていました。これはおそらく回避策の一種かもしれません - 私はAPIのドキュメントでこれの言及を見ることができません。
display
がstyle
に設定されている要素がnone
に設定されているかどうかを調べようとしています。私は、サーバーの変異イベントがあり、彼らはこの線に沿って見て
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function (mutation) {
if (mutation.attributeName === "style") {
var extendedMutation = _.extend({}, mutation, {
newValue: $(mutation.target).attr("style")
});
console.log(extendedMutation);
}
});
});
observer.observe(row.element[0], { attributes: true, attributeOldValue: true });
:
私のコードは次のようになり
{
addedNodes: NodeList[]
attributeName: "style"
attributeNamespace: null
newValue: "display: none;"
nextSibling: null
oldValue: ""
previousSibling: null
removedNodes: NodeList[]
target: li#d526d311-e6e0-4ef1-a3a1-f8686bbb468f.group
type: "attributes"
}
私はどこJSソースで知りたいのですがそれはから来ている!何か案は?
私はctrl + fを試しましたが、役に立たないことに注意してください。 (また、Chrome向けWebkitMutationObserverを試みたが、同じ結果)
デバッガ/例外出力:
実行の「鎖」が非同期であるという理由だけで、その「履歴」、すなわち呼び出された時点よりも前に起こったことのスナップショットを追跡するのが困難である必要があるということを意味するわけではありません。 Ajax呼び出しでは、Ajax呼び出しまでのスタックトレース文字列を(例えば)AjaxオブジェクトをラップするPromiseにアタッチすることができます。 MutationObserverではこれは不可能に思えます。煩わしい。 –