我正在建立一个视频播放列表。每次用户单击新项目时,我想在开始下载新视频之前停止下载当前视频(如果它仍在进行中)。
这是我能想出的代码。它部分有效,但是当我调用 destroyVideo() 方法时,似乎没有任何下载被取消。我正在使用 Chrome 的网络监视器进行检查。
function createVideo(videoObject) {
var html = '<video id="video" loop><source id="mp4" src="' + video.mp4 + '" type="video/mp4" /><source id="webm" src="' + video.webm + '" type="video/webm" /><source id="ogg" src="'+ video.ogg + '" type="video/ogg" /></video>';
var videoContainerDiv = $('#videoContainerDiv');
videoContainerDiv.append(html);
var asset = $('#video');
asset.get(0).load();
}
function destroyVideo() {
var asset = $('#video');
var mp4 = $('#mp4');
mp4.attr('src', '');
var webm = $('#webm');
webm.attr('src', '');
var ogg = $('#ogg');
ogg.attr('src', '');
asset.attr('src', '');
asset.get(0).load();
var videoContainerDiv = $('#videoContainerDiv');
videoContainerDiv.empty();
}
我的问题是:有没有更有效的方法来做到这一点,跨浏览器?
高度赞赏帮助!