1

我正在创建一个视频库。每当用户点击缩略图时,“视频”元素会动态附加到页面以让用户观看视频(我已经尝试显示/隐藏视频,但 chrome 加载页面速度很慢,所以我选择了动态方法)。问题是,如果用户关闭视频(破坏“视频”元素)并点击相同的缩略图(因此,重新创建了“视频”元素),Chrome 会产生一个新的网络请求来下载视频,但是这个请求在队列中挂起,因为服务器每次只允许每个文件和每个 IP 1 个请求(因为之前打开视频导致视频被下载)。这在 Firefox 中不会发生,浏览器不会重新下载视频,而是重用之前下载的视频......

谢谢你。

更新

这是我用来添加的代码:

$(this).find(".gallery > li").append("<video id=\"articlevideoobj\" class=\"videoProd\" preload=\"none\" controls=\"true\"><source src=\"" + video_src + ".mp4\" type=\"video/mp4\"><source src=\"" + video_src + ".ogg\" type=\"video/ogg\"</video>");

这是我用来删除它的代码:

if (video_mode) {
    $('#articlevideoobj').remove();
}
4

1 回答 1

1

在删除视频之前,请在视频对象上调用 .stop() 方法并将 src 设置为 '' :

 function stopVideo(elementId)
 {
   var video = document.getElementById(elementId);

   video.pause();
   video.src = '';
   video.parentNode.removeChild(video);
 } 
于 2013-01-31T13:38:25.797 回答