如何在调试器中暂停时强制 Chrome 呈现页面?

Kyl*_*e S 6 javascript debugging google-chrome developer-tools google-chrome-devtools

我正在使用一个 Web 应用程序,该应用程序通过 JavaScript 执行一些非常繁重的 DOM 操作,并且我正在广泛使用 Chrome 的开发人员工具来构建页面和功能。问题是有时,当页面在断点或debugger;行,视口中的页面不会变灰,不会收到“在调试器中暂停”消息,它不会以蓝色突出显示我在开发工具中选择的 DOM 元素,也不会重绘或在 DOM 由 Javascript 操作时更新渲染或任何内容。当我取消暂停调试器并且代码完成时,重新渲染会按预期进行,但是当我在调试器中逐行执行代码时,重新渲染不会发生,直到代码完成并且调试器停顿。当我专门尝试调试一些与渲染相关的问题时,这确实是一个问题。这是一个不一致的问题。例如,在我目前正在处理的项目中,有一个 onResize() 方法在初始页面加载时运行,以及(显然)在调整视口大小时运行。如果 Chrome Dev Tools 在 onResize() 的初始运行期间暂停,它会按预期工作,在此过程中的每一步都将更改呈现给页面。但是如果它在该方法的稍后运行期间暂停,在实际调整大小事件期间,我上面描述的问题就会发生,并且在代码完成运行之前我看不到渲染的任何更改。

有没有人知道为什么会发生这种情况,或者我能做些什么?