Chrome控制台报错后立即消失,如何阻止?(版本65.0.3325.162)
嘿,我太懂这种抓不到错误的憋屈感了!尤其是你用的Chrome 65版本,虽然有点老,但咱们照样能搞定这个调皮的一闪而过的错误。试试下面这些实用方法:
勾选「Preserve log」保留日志
打开Chrome控制台(按F12或Ctrl+Shift+I),切换到「Console」面板,左上角有个「Preserve log」复选框,把它勾上。这样页面刷新、跳转或者重新渲染时,之前的控制台日志都不会被清空,错误信息就能稳稳留在那里等你查看了。启用「暂停在异常处」功能
在控制台面板的右上角,找到那个带闪电标的暂停按钮(叫「Pause on exceptions」),点击它启用。只要代码抛出未捕获的异常,Chrome会立刻暂停代码执行,直接定位到错误发生的位置,还能查看调用栈、当前变量状态,帮你快速排查问题。如果连捕获的异常也想监控,点击按钮旁边的小箭头,勾选「Pause on caught exceptions」即可。阻止页面自动刷新/跳转
有时候错误出现后页面会立刻刷新,把日志冲掉。你可以先检查代码里有没有location.reload()这类自动刷新的逻辑,临时注释掉;或者在控制台里执行这段代码:window.onbeforeunload = () => { return "确认要离开当前页面吗?"; }这样页面要刷新时会弹出确认框,给你足够时间查看错误信息。
导出控制台日志到文件
如果上面的方法都没奏效,右键点击控制台的空白区域,选择「Save as...」,把整个控制台日志保存成文件,之后你可以慢慢翻看文件里的内容,找到那个一闪而过的错误。
另外提一句,Chrome 65版本确实比较老旧了,最新版的Chrome在调试工具上做了很多优化,要是条件允许,升级到最新稳定版会让你的调试过程顺畅很多哦!
内容的提问来源于stack exchange,提问作者user605505

