![](/img/trans.png)
[英]Chrome only updates with jquery.html() when debugging and hitting breakpoint
[英]Catch/Prevent Page Change When Hitting Breakpoint: Firefox
我遇到的一个问题是,使用Firefox时,未完成的AJAX请求会触发某种由我的全局错误处理程序捕获的错误。
结果是在页面更改之前的一秒钟内,出现警报,提示“我们无法与服务器通信”。 这是无害的,因为页面正在更改,但是很烦人,我想确定消息的内容,并在Firefox中避免使用。
由于该问题仅在Firefox中止正在运行的AJAX请求时出现,因此我需要在浏览器的页面上重新加载新的请求。
我正在使用Firefox 66.0.3。
根据Mozilla的webdocs ,尚不可能在“新调试器”中中断DOM事件, 就像在Chrome devtools中那样 :
我有可以附加断点的错误处理代码。 但是不幸的是,任何断点(或debugger
语句)都不会阻止页面更改,因此我实际上无法调试。
有没有办法在页面更改之前捕获断点,以便我可以研究堆栈/控制台?
因此,这不是“完美”的解决方案,而是“一个”解决方案。
为了找到调试所需的必要信息,我要做的是将日志保留在控制台中。
然后,我修改了脚本,将各种变量和/或堆栈记录到控制台,以便可以调试导致问题出现的请求和浏览器的状态。
对于它的价值,发生的事情是,当用户从页面导航时关闭AJAX请求时,在Firefox中,将调用jQuery ajaxError处理函数,并且statusText参数设置为“错误”。
为了防止处理程序引发错误的“与服务器通信时出错”弹出窗口,我检查请求的状态是否仍设置为0(未发送/正在加载)。
不,我不确定为什么Chrome不会触发ajax错误处理程序,而Firefox会触发。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.