Javascript 如何从内存中释放HTML5视频?

Javascript 如何从内存中释放HTML5视频?,javascript,html,video,Javascript,Html,Video,我有一个页面使用了很多视频,我想在视频暂停时将其从内存中清除,但我不确定如何操作。我尝试使用: function pausevideo1(){ var video = document.getElementById("video1"); video.pause(); video.src ="" } 但这会完全清除页面中的视频,因此无法再次播放。是否可以在视频暂停时清除视频,并在激活时重新加载 在清除视频的src之前,请将src保存在元素中,并在用户单击播放时检

我有一个页面使用了很多视频,我想在视频暂停时将其从内存中清除,但我不确定如何操作。我尝试使用:

 function pausevideo1(){
     var video = document.getElementById("video1");
     video.pause();
     video.src =""
 }

但这会完全清除页面中的视频,因此无法再次播放。是否可以在视频暂停时清除视频,并在激活时重新加载

在清除视频的
src
之前,请将
src
保存在元素中,并在用户单击播放时检索:

function pausevideo1(){

     var video = document.getElementById("video1");

     video.pause();

     video.dataset.vidSrc = video.src; // save src

     video.src ="";
}

function loadVideo(id) {

    var video = document.getElementById(id);

    video.src = video.dataset.vidSrc; // retrieve src
}

注意:与IE>10兼容。如果需要与旧浏览器兼容的解决方案,则可以使用类似的解决方案,但可以使用
setAttribute
getAttribute
src
保存到元素中

这样做的目的是什么?你不能用脚本中的浏览器内存做任何事情。浏览器处理它自己的垃圾收集我认为这是在浏览器领域,在某种程度上它是最好的,不要认为开发人员应该弄乱这一点,但是如果你的页面上有很多视频,你可以并且可能应该能够控制一次只播放一个视频,而不是一堆视频!