繁体   English   中英

击中断点时捕获/阻止页面更改:Firefox

[英]Catch/Prevent Page Change When Hitting Breakpoint: Firefox

我遇到的一个问题是,使用Firefox时,未完成的AJAX请求会触发某种由我的全局错误处理程序捕获的错误。

结果是在页面更改之前的一秒钟内,出现警报,提示“我们无法与服务器通信”。 这是无害的,因为页面正在更改,但是很烦人,我想确定消息的内容,并在Firefox中避免使用。

由于该问题仅在Firefox中止正在运行的AJAX请求时出现,因此我需要在浏览器的页面上重新加载新的请求。

我正在使用Firefox 66.0.3。

根据Mozilla的webdocs ,尚不可能在“新调试器”中中断DOM事件, 就像在Chrome devtools中那样

无法中断DOM事件

我有可以附加断点的错误处理代码。 但是不幸的是,任何断点(或debugger语句)都不会阻止页面更改,因此我实际上无法调试。

有没有办法页面更改之前捕获断点,以便我可以研究堆栈/控制台?

因此,这不是“完美”的解决方案,而是“一个”解决方案。

为了找到调试所需的必要信息,我要做的是将日志保留在控制台中。

然后,我修改了脚本,将各种变量和/或堆栈记录到控制台,以便可以调试导致问题出现的请求和浏览器的状态。

对于它的价值,发生的事情是,当用户从页面导航时关闭AJAX请求时,在Firefox中,将调用jQuery ajaxError处理函数,并且statusText参数设置为“错误”。

为了防止处理程序引发错误的“与服务器通信时出错”弹出窗口,我检查请求的状态是否仍设置为0(未发送/正在加载)。

不,我不确定为什么Chrome不会触发ajax错误处理程序,而Firefox会触发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM