在实际加载时使用请求的XHR数据

时间:2016-07-01 00:37:59

标签: javascript jquery ajax xmlhttprequest

也许我只是弄错了但是...我通过ajax(180mb - 500mb)请求“大”文件。我认为我能够在实际加载时使用URL.createObjectURL方法获取和使用数据吗?我需要在5秒内获得所请求的数据,但其实际加载时间为16秒。

  1. ajax request
  2. xhr.onload(在5秒内或更快,在本地工作,但不在线工作)
  3. 在onload(或者进展,onreadystatechange(我试过))中我使用了URL.createObjectURL(xhr.response)来获取数据

    var nxtclp = new XMLHttpRequest();

    nxtclp.onload = function(){  get_src = URL.createObjectURL(nxtclp.response);  that.preloadSource = get_src; };

    nxtclp.open(“GET”,“media / vid.mp4”); nxtclp.responseType =“blob”; nxtclp.send();

  4. 有没有办法在加载时播放数据?

1 个答案:

答案 0 :(得分:0)

autoplay元素

上使用<video>属性
  

autoplay

     

布尔属性;如果指定,视频将自动开始   尽快播放,不停止完成加载   数据。

<video controls autoplay src="http://mirrors.creativecommons.org/movingimages/webm/ScienceCommonsJesseDylan_240p.webm">
</video>

或者,使用javascript

var video = document.createElement("video");
video.autoplay = true;
video.controls = true;
video.onloadedmetadata = (e) => {
  console.log(video.readyState);
  document.body.appendChild(e.path[0])
}
video.src = "http://mirrors.creativecommons.org/movingimages/webm/ScienceCommonsJesseDylan_240p.webm";
<body>
</body>