也许我对浏览器的开发工具要求太高了,但是…是否有一些方法可以简单地冻结网页的状态,而不需要在JS代码中找到相对行并放置debugger
语句?(不是浏览器特有的问题,任何浏览器都可以做到这一点)
我有一种情况,我想检查页面上的一些DOM,只能访问:
- 我点击了一个特定的按钮
- 它在模糊事件后消失(例如,一旦我在检查器中找到父元素并单击它,它立即消失)。
因为它触发点击,"强制元素状态"也没有帮助。
谢谢!
在Chrome中,如果您知道将被修改的界面中的包含元素,然后右键单击它并"检查元素"(或直接在DOM中查看它,如果这对您来说更容易),然后右键单击DOM中的元素并选择"Break on…">"子树修改"(或任何其他适合您的选项)。
当DOM中的任何元素发生变化时,这应该会暂停JavaScript的执行,允许你使用F10等来逐步执行JS,并在执行过程中的任何时候查看DOM。
如果你不知道什么会改变,你当然可以用这种方式监控整个<body>
,但这可能会捕获太多的变化,这取决于你的页面有多动态
在开发工具中,您可以在源代码的任何行设置断点。它的工作原理就像Visual Studio一样。
即使您停止并重新启动浏览器,断点也将保持活动状态。它至少可以与Chrome/Firefox/Internet Explorer兼容。
或者,您可以在序列化后记录对象状态:
console.log( JSON.stringify( state ) )