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