如何冻结 dom 树的状态(不使用 js "debugger" 语句)来检查它?

How to freeze state of the dom tree (without using js "debugger" statement) to inspect it?

也许我对浏览器的开发工具要求太多了,但是...有没有什么方法可以简单地冻结网页的状态,而无需在 JS 代码中找到相关行并将 debugger 陈述? (不是特定于浏览器的问题,任何可以执行此操作的浏览器都很好)

我有一种情况,我想检查页面上的一些 DOM,只有在以下时间后才能访问:

因为它在点击时触发,"Force element state" 也没有帮助。

谢谢!

在开发工具中,您可以在源代码的任何行设置一个断点。 例如,它的工作原理与 Visual Studio 中的一样。

即使您停止并重新启动浏览器,断点仍将保持活动状态。 它至少适用于 Chrome / Firefox / Internet Explorer。

或者,您可以在 序列化 之后记录对象状态:

console.log( JSON.stringify( state ) )

在Chrome中,如果您知道界面中将要修改的包含元素,则右键单击它并"Inspect Element"(或者在DOM中直接进入它,如果这对你来说更容易),然后右键单击 DOM 中的元素并选择 "Break On..." > "Subtree modifications"(或其他适合你的选项)。

这应该会在 DOM 中的任何元素发生变化时暂停 JavaScript 执行,允许您使用 F10 等单步执行 JS 并随时查看 DOM在执行期间。

如果您不知道会发生什么变化,您当然可以通过这种方式监控整个 <body>,但这可能会捕获太多变化,具体取决于页面的动态程度。