Javascript 视频源无效格式问题

Javascript 视频源无效格式问题,javascript,jquery,Javascript,Jquery,如何针对无效的.mp4格式文件进行测试以隐藏相应的容器 <div id="video"> <video controls width="320" height="240"> <source src="<?php echo $row["username"]);?>" type="video/mp4"> </video> </div> 为什么不工作?因为您将ventListener添加到div

如何针对无效的.mp4格式文件进行测试以隐藏相应的容器

<div id="video">
    <video controls width="320" height="240">
        <source src="<?php echo $row["username"]);?>" type="video/mp4">
    </video>
</div>


为什么不工作?因为您将ventListener添加到div,而不是视频标记的源

<div id="video">
      <video controls="controls" width="320" height="240">
          <source src="aaaa" type="video/mp4"/>
      </video>
  </div>

<script>
    var v = document.querySelector('#video');
    var sources = v.querySelectorAll('source');

    if (sources.length !== 0) {
        var lastSource = sources[sources.length-1];

        lastSource.addEventListener('error', function() {
            v.style.display="none";
        });
    }
    </script>

var v=document.querySelector(“#video”);
var sources=v.querySelectorAll('source');
如果(sources.length!==0){
var lastSource=sources[sources.length-1];
lastSource.addEventListener('error',function(){
v、 style.display=“无”;
});
}
您可以使用:

可能的返回值为:

  • 可能:指定的媒体类型似乎可以播放
  • 可能:无法判断媒体类型是否可以在不播放的情况下播放
  • “”(空字符串):指定的媒体类型肯定无法播放
相反,如果您需要

..当尝试加载或执行介质时出现某种形式的错误时,会发生这些事件

您的代码必须更改为:

$('#video source').on('error',function(e) {
片段:

var result=$('#video video').get(0).canPlayType($('#video video source').attr('type');
console.log('可以播放的第一个视频:'+结果);
$(“#视频源”)。关于('error',函数(e){
//
//这是为了检测错误的来源
//
$(“#视频”).toggle();
log('第一个视频源有错误…');
});
$('#newvideo source')。在('error',函数(e)上{
//
//这是为了检测错误的来源
//
$('#newvideo').toggle();
log('第二个视频源有错误…');
});

第一段视频:没关系

第二个视频:它有一个无效的源


您的意思是捕获并处理来自视频元素的错误?您还需要执行
文档。\u video.style.display=“none”
$('#video source').on('error',function(e) {