html5视频标签在没有视频上传时显示一个空的视频框。如何隐藏此空框?

问题描述 投票:0回答:1

此空视频框难看且难看。我希望仅在上传视频时才显示视频框。

这里是一个示例代码,其中html5视频标记显示一个空的视频框:

<!DOCTYPE html>
<html>
<body>

<video preload="auto" width="600" height="400" controls>
   <source src="" type="video/mp4">
      Your browser doesn\'t support HTML 5.
 </video>

</body>
</html>

html
1个回答
0
投票

不确定在原始HTML中是否可行,但是在JavaScript中当然可以。使用JavaScript,您可以简单地检查src元素的<source>属性指向什么,如果未设置,则将父级<video>元素设置为displaynone

在下面可以看到,其中仅显示两个视频之一:

const videos = document.getElementsByTagName('source');
for (let i = 0; i < videos.length; i++) {
  if (!videos[i].src || videos[i].src == window.location.href) {
    videos[i].parentElement.style = "display: none";
  }
}
<!DOCTYPE html>
<html>

<body>

  <video preload="auto" width="600" height="400" controls>
   <source src="" type="video/mp4">
      Your browser doesn\'t support HTML 5.
 </video>

  <video preload="auto" width="600" height="400" controls>
     <source src="https://www.google.com" type="video/mp4">
      Your browser doesn\'t support HTML 5.
 </video>

</body>

</html>
© www.soinside.com 2019 - 2024. All rights reserved.