Youtube iframe api 检查视频是否存在

Ron*_*vdb 1 javascript youtube jquery youtube-api

我正在一个简单的页面上工作,它有一个文本输入,用户可以在其中添加他们想要插入页面的 youtube 视频的 id,然后我调用 youtube 的 iframe api 来加载视频。但是,如果用户添加了一个不存在的 id,我会得到一个黑屏。

我希望有人知道在加载视频之前检查视频是否存在的方法。

这是我的代码:

$(document).ready(function() {
  $('#loadVid').click(function() {
     var player;
     var urlVid = $('#urlVid').val(); //GET THE VIDEO CODE FROM THE TEXT INPUT

     player = new YT.Player('player', {
          height: '390',
          width: '640',
          videoId: urlVid,
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
     });
  });
});
Run Code Online (Sandbox Code Playgroud)

los*_*rce 5

根据该文件的onError应该给你这样的信息

100 – 未找到请求的视频。当视频被删除(出于任何原因)或被标记为私有时,会发生此错误。

将 onError 事件处理程序添加到 events 对象

events: {
  'onReady': onPlayerReady,
  'onStateChange': onPlayerStateChange,
  'onError': function(errEvent) {
      var errCode = errEvent.data;
      if(errCode == 100) {
          alert('Video Not Found');
      }
  }
}
Run Code Online (Sandbox Code Playgroud)