Javascript 点击断点时捕获/防止页面更改:Firefox

Javascript 点击断点时捕获/防止页面更改:Firefox,javascript,firefox,breakpoints,dom-events,firefox-developer-tools,Javascript,Firefox,Breakpoints,Dom Events,Firefox Developer Tools,我遇到了一个问题,在使用Firefox时,未完成的AJAX请求会触发全局错误处理程序捕获的某种错误 结果是,在页面更改前的一瞬间,出现了一条警报,说“我们与服务器通信有问题”。这是无害的,因为页面正在更改,但这很烦人,我想确定消息是什么,并在Firefox中避免它 因为这个问题只有在Firefox中止这些正在运行的AJAX请求时才会出现,所以我需要在重新加载新请求之前在浏览器中打开页面 我正在使用Firefox 66.0.3 根据,尚不可能在“新调试器”中中断DOM事件: 我有可以附加断点的错

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

结果是,在页面更改前的一瞬间,出现了一条警报,说“我们与服务器通信有问题”。这是无害的,因为页面正在更改,但这很烦人,我想确定消息是什么,并在Firefox中避免它

因为这个问题只有在Firefox中止这些正在运行的AJAX请求时才会出现,所以我需要在重新加载新请求之前在浏览器中打开页面

我正在使用Firefox 66.0.3

根据,尚不可能在“新调试器”中中断DOM事件:

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

有没有办法让断点在页面更改之前捕获,这样我就可以研究堆栈/控制台了?

所以这不是“完美”的解决方案,但它是“一个”解决方案

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

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

值得一提的是,当用户从页面导航时,关闭AJAX请求时,在Firefox中调用处理程序,并将参数设置为“error”

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

不,我不知道为什么Chrome不会触发ajax错误处理程序,但Firefox会触发。

所以这不是一个“完美”的解决方案,但它是一个“完美”的解决方案

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

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

值得一提的是,当用户从页面导航时,关闭AJAX请求时,在Firefox中调用处理程序,并将参数设置为“error”

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


不,我不知道为什么Chrome不会触发ajax错误处理程序,但Firefox会触发。

你说这是ajax的结果,你试过使用XHR断点吗?谢谢。错误不是请求本身造成的。如果我发送一些AJAX请求,它们将成功完成。当我试图离开页面时,当AJAX请求正在进行时,Firefox会放弃它们,无论它如何关闭它们,都会发生错误。你说这是AJAX的结果,你是否尝试过使用XHR断点?谢谢。错误不是请求本身造成的。如果我发送一些AJAX请求,它们将成功完成。当我试图离开页面时,当AJAX请求正在进行时,Firefox会放弃它们,无论它如何关闭它们,都会发生错误。