Javascript 如何获取触发的MutationObserver的堆栈跟踪?
首先,这不是一篇“如何创建突变观察者?”的帖子,我已经看过了API 我想知道是否有人知道一种显示突变发生的“来源”的方法。这很可能是一种变通方法——我在API文档中看不到任何提及这一点的内容 我试图找出元素在Javascript 如何获取触发的MutationObserver的堆栈跟踪?,javascript,mutation-observers,Javascript,Mutation Observers,首先,这不是一篇“如何创建突变观察者?”的帖子,我已经看过了API 我想知道是否有人知道一种显示突变发生的“来源”的方法。这很可能是一种变通方法——我在API文档中看不到任何提及这一点的内容 我试图找出元素在样式中的显示设置为none的位置 我的代码如下所示: var observer = new MutationObserver(function(mutations) { mutations.forEach(function (mutation) { if (mutat
样式中的显示设置为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…)中似乎缺少此“异步”复选框。也许它去了别的地方?像这样的东西给我吗?我讨厌铬。