Javascript 如何获取触发的MutationObserver的堆栈跟踪?

Javascript 如何获取触发的MutationObserver的堆栈跟踪?,javascript,mutation-observers,Javascript,Mutation Observers,首先,这不是一篇“如何创建突变观察者?”的帖子,我已经看过了API 我想知道是否有人知道一种显示突变发生的“来源”的方法。这很可能是一种变通方法——我在API文档中看不到任何提及这一点的内容 我试图找出元素在样式中的显示设置为none的位置 我的代码如下所示: var observer = new MutationObserver(function(mutations) { mutations.forEach(function (mutation) { if (mutat

首先,这不是一篇“如何创建突变观察者?”的帖子,我已经看过了API

我想知道是否有人知道一种显示突变发生的“来源”的方法。这很可能是一种变通方法——我在API文档中看不到任何提及这一点的内容

我试图找出元素在
样式中的
显示
设置为
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,结果相同):


我知道这个线程已经很老了,但是现在Chrome上有一个跟踪异步调用的工具,我想提一下

Chrome调用堆栈异步选项,我认为这将实现异步调用的回溯跟踪。此选项可以在开发人员工具->调用堆栈选项卡中找到。通过打开Async选项并在MutationObserver回调函数上设置断点,我们将能够看到完整的调用堆栈


希望能有所帮助。

IMO,这是一个比最上面的答案更好的答案。哇!ChromeDevTools现在(V60.0…)中似乎缺少此“异步”复选框。也许它去了别的地方?像这样的东西给我吗?我讨厌铬。