通过某些 javascript 函数在初始页面加载时调试 HTML 元素更改,但无法找到它。
Debugging HTML element change upon initial page load by some javascript function, but unable to find it.
我知道 chrome 有一个 javascript 调试器,如果有任何修改,您可以在 HTML 中设置断点,但是您只能在页面已经加载。我试图弄清楚如何在初始页面加载时为元素分配内联样式。我试图在文件中搜索 class 但没有显示任何内容。我不确定如何追踪设置的位置。视图源不显示任何内联样式,因此它必须来自 js 文件。
如何调试这个?
我唯一可以建议的是:
- 在 Script 上设置 event listener breakpoint > Script First Statement.
- 重新加载页面。 DevTools 在执行的第一个脚本的第一行暂停。
- 现在,回到元素面板,放置一个子树修改DOM breakpoint 在
<body>
上。每当修改任何节点时,DevTools 都会暂停。或者,如果您的目标节点在 HTML 中声明并且已经存在于页面中,则直接在目标节点上设置 DOM 断点。
- 一直按 Resume Script Execution 直到找到修改节点的代码行。每次按下 恢复脚本执行,脚本只会执行到另一个节点被修改。
这绕过了 DOM 断点在页面加载时不起作用的 DevTools 限制,因为在您设置 DOM 断点时页面技术上已经开始 运行。
不过,这似乎是一个非常核心的用例。 DOM 如您所述,单个节点上的断点在页面加载时不起作用。 DOM 突变事件侦听器断点也不行。我将提出一个功能请求来以某种方式处理此问题。
我知道 chrome 有一个 javascript 调试器,如果有任何修改,您可以在 HTML 中设置断点,但是您只能在页面已经加载。我试图弄清楚如何在初始页面加载时为元素分配内联样式。我试图在文件中搜索 class 但没有显示任何内容。我不确定如何追踪设置的位置。视图源不显示任何内联样式,因此它必须来自 js 文件。
如何调试这个?
我唯一可以建议的是:
- 在 Script 上设置 event listener breakpoint > Script First Statement.
- 重新加载页面。 DevTools 在执行的第一个脚本的第一行暂停。
- 现在,回到元素面板,放置一个子树修改DOM breakpoint 在
<body>
上。每当修改任何节点时,DevTools 都会暂停。或者,如果您的目标节点在 HTML 中声明并且已经存在于页面中,则直接在目标节点上设置 DOM 断点。 - 一直按 Resume Script Execution 直到找到修改节点的代码行。每次按下 恢复脚本执行,脚本只会执行到另一个节点被修改。
这绕过了 DOM 断点在页面加载时不起作用的 DevTools 限制,因为在您设置 DOM 断点时页面技术上已经开始 运行。
不过,这似乎是一个非常核心的用例。 DOM 如您所述,单个节点上的断点在页面加载时不起作用。 DOM 突变事件侦听器断点也不行。我将提出一个功能请求来以某种方式处理此问题。