Javascript Youtube iframe api检查视频是否存在
我正在处理一个简单的页面,该页面有一个文本输入,用户可以在其中添加他们想要插入到页面中的youtube视频的id,然后我调用youtube的iframe api来加载视频。但是,如果用户添加了一个不存在的id,我会得到一个黑屏 我希望有人知道在加载视频之前检查视频是否存在的方法 这是我的代码:Javascript Youtube iframe api检查视频是否存在,javascript,jquery,youtube,youtube-api,Javascript,Jquery,Youtube,Youtube Api,我正在处理一个简单的页面,该页面有一个文本输入,用户可以在其中添加他们想要插入到页面中的youtube视频的id,然后我调用youtube的iframe api来加载视频。但是,如果用户添加了一个不存在的id,我会得到一个黑屏 我希望有人知道在加载视频之前检查视频是否存在的方法 这是我的代码: $(document).ready(function() { $('#loadVid').click(function() { var player; var urlVid = $
$(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
}
});
});
});
根据法律规定,律师应向您提供此类信息
100–未找到请求的视频。此错误发生在
视频因任何原因被删除或被标记为私人
将OneError事件处理程序添加到events对象
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': function(errEvent) {
var errCode = errEvent.data;
if(errCode == 100) {
alert('Video Not Found');
}
}
}
根据法律规定,律师应向您提供此类信息
100–未找到请求的视频。此错误发生在
视频因任何原因被删除或被标记为私人
将OneError事件处理程序添加到events对象
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': function(errEvent) {
var errCode = errEvent.data;
if(errCode == 100) {
alert('Video Not Found');
}
}
}
在打开播放器之前,只需触发对URL的测试Ajax请求。如果Youtube页面视频不存在,它将返回一个404头,我刚刚用一个不存在的视频URL测试了这个头
如果使用$.ajax方法,则可以在成功回调中插入播放器加载函数,并在错误回调中触发错误警报,如果响应头为4xx或5xx,则应调用该函数。只需在打开播放器之前触发对URL的测试ajax请求即可。如果Youtube页面视频不存在,它将返回一个404头,我刚刚用一个不存在的视频URL测试了这个头 如果使用$.ajax方法,则可以在成功回调中插入播放器加载函数,并在错误回调中触发错误警报,如果响应头为4xx或5xx,则应调用该警报 此处$videoId包含yuotube url的视频id 此处$videoId包含yuotube url的视频id
嘿,谢谢你的回答!我已经按照您的建议和文档所示,将“onError”添加到事件中,但它仍然会加载一个黑屏,并且不会调用警报。这是我的演示页面:嘿,谢谢你的回答!我已经按照您的建议和文档所示,将“onError”添加到事件中,但它仍然会加载一个黑屏,并且不会调用警报。这是我的演示页面: