Javascript Chrome与Firefox XHR请求的差异

Javascript Chrome与Firefox XHR请求的差异,javascript,google-chrome,firefox,xmlhttprequest,offline-browsing,Javascript,Google Chrome,Firefox,Xmlhttprequest,Offline Browsing,在处理XHR请求时,我发现从两个主要浏览器——谷歌的Chrome和Mozilla的Firefox——发出XHR请求很有趣。 请求很简单HEAD请求www.google.ba: var xhr = new XMLHttpRequest(); xhr.open('HEAD' , 'www.google.ba', true); xhr.onreadystatechange = function (aEvt){ if (xhr.readyState == 4) { if (xhr.stat

在处理XHR请求时,我发现从两个主要浏览器——谷歌的Chrome和Mozilla的Firefox——发出XHR请求很有趣。 请求很简单
HEAD
请求
www.google.ba

var xhr = new XMLHttpRequest();
xhr.open('HEAD' , 'www.google.ba', true);

xhr.onreadystatechange = function (aEvt){
  if (xhr.readyState == 4) {
    if (xhr.status >= 200 && xhr.status < 304) {
      console.log('Connected');
    } else {
      console.log('No net');
    }
  }
};

xhr.send();
var xhr=new-XMLHttpRequest();
xhr.open('HEAD','www.google.ba',true);
xhr.onreadystatechange=函数(aEvt){
if(xhr.readyState==4){
如果(xhr.status>=200&&xhr.status<304){
console.log('Connected');
}否则{
console.log(“无网络”);
}
}
};
xhr.send();
在没有连接的情况下尝试发出XHR请求后,我将在两个浏览器上都获得readyState 4和状态0。重新连接后,从两个浏览器发出的XHR请求都成功了

但问题是,在我再次断开连接并发出请求后,Chrome在9毫秒后返回readyState 4和状态0,但Firefox仍处于某种挂起状态,等待net返回。当我在13秒后重新连接时,请求已成功处理。即使在13秒之后,我也没有在Firefox上获得状态0。有没有人能解释这些巨大的差异以及如何在Firefox上防止这种行为

Chrome的屏幕截图:

Firefox的屏幕截图:

编辑:
Firefox似乎无法检测脱机模式,只有在浏览器中选择
脱机工作
时,才能得到与Chrome相同的结果。有没有办法获得与Chrome相同的结果?

@xmashallax-有没有人能解释这些巨大的差异以及如何在Firefox上防止这种行为?结果是否相同真的很重要?这种行为如何对您编写的任何脚本产生负面影响?@doveyg事实上是这样的,如果没有连接,用户可以不耐烦地多次运行相同的操作,而不知道连接是否丢失,重新连接后,所有操作都将被处理。这只是一种可能的情况。