Javascript Chrome ajax请求被挂起

Javascript Chrome ajax请求被挂起,javascript,ajax,google-chrome,Javascript,Ajax,Google Chrome,如果我一个接一个地提出大约8个请求,它们的加载很好,但之后的任何请求都会说“待定” 以下是我的基本html模板: <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <title>Editing Quiz</title> <script src="../assets/js/lib.js"></script> <

如果我一个接一个地提出大约8个请求,它们的加载很好,但之后的任何请求都会说“待定”

以下是我的基本html模板:

<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <title>Editing Quiz</title>
    <script src="../assets/js/lib.js"></script>
  </head>
  <body>
    <div>
      <a href="#/test">test</a>
      <a href="#/demos/QuizDemo">QuizDemo</a>
    </div>
    <div id="container">
    </div>
  </body>
</html>
如果我一个接一个地快速单击“test”和“QuizDemo”(或者在每次单击之间等待几秒钟),则在8个请求之后,它们停止加载并进入挂起状态。他们永远也无法恢复,之后提出的任何请求也会暂停


这在firefox中非常有效,所以我不知道出了什么问题。

问题是我在页面上有视频元素。Chrome显然开始自动加载视频,但会将视频分块加载,因此在你观看整个视频之前,视频永远不会结束。因此,当我加载页面的新数据时,视频请求仍然处于不确定状态


为了解决这个问题,我制作了一个全局列表
媒体
,每当我创建一个加载流的元素(
音频
视频
)时,我都会将它附加到列表中。然后,每当我重新加载页面时,我只需迭代
media
并调用
media[I]。删除属性(“src”)
,然后调用
media[I]。load()
,这将尝试重新加载流。重新加载流会自动中止它以前的所有请求,如果src不存在,加载将以静默方式失败。

问题在于我在页面上有视频元素。Chrome显然开始自动加载视频,但会将视频分块加载,因此在你观看整个视频之前,视频永远不会结束。因此,当我加载页面的新数据时,视频请求仍然处于不确定状态

为了解决这个问题,我制作了一个全局列表
媒体
,每当我创建一个加载流的元素(
音频
视频
)时,我都会将它附加到列表中。然后,每当我重新加载页面时,我只需迭代
media
并调用
media[I]。删除属性(“src”)
,然后调用
media[I]。load()
,这将尝试重新加载流。重新加载流会自动中止其以前的所有请求,如果src不存在,加载将以静默方式失败

function loadPage(e) {
    document.getElementById("container").innerHTML = "";
    var baseFilename = location.hash.substr(1);
    var url = "/LiquiZ2" + baseFilename + "_ajax.jsp"; // name of dynamic file to run

    var json = new XMLHttpRequest();
    json.onreadystatechange=function() {
      if (json.readyState!==4 || json.status!==200)
          return;
      processAJAX(json.responseText);
    }
    json.open("GET", url, true);
    json.send();
}

window.onload = loadPage;
window.onhashchange = loadPage;