San*_*shi 6 javascript jquery vimeo vimeo-api
所以,我试图只在它存在的情况下显示Vimeo视频.我正在使用新的JavaScript API.
根据他们的文档,error当视频在加载时出现错误时,应触发事件.我相信,添加错误的Vimeo视频网址也应该触发该error事件.
这就是我为使error事件发挥作用所做的事情:
<iframe id="vimeo-player1" src="https://player.vimeo.com/video/13333693532?autoplay=0&background=1" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
Run Code Online (Sandbox Code Playgroud)
方法1
player = new Vimeo.Player($('#vimeo-player1'));
player.on('error', function() {
console.log('Error in loading video');
});
Run Code Online (Sandbox Code Playgroud)
方法2
player = new Vimeo.Player($('#vimeo-player1'));
player.loadVideo().then(function(id) {
console.log('loaded');
}).catch(function(error) {
console.error(error);
});
Run Code Online (Sandbox Code Playgroud)
他们都没有工作.它从未执行过错误块.
一些附加信息(帮助您赢得Bounty):
我发现最简单的方法是使用 oEmbed 开放标准调用 Vimeo API:
function checkIfVideoExists(url, callback){
$.ajax({
type:'GET',
url: 'https://vimeo.com/api/oembed.json?url=' + encodeURIComponent(url),
dataType: 'json',
complete: function(xhr) {
callback(xhr.status);
}
});
}
checkIfVideoExists("https://vimeo.com/217775903", function(status){
console.log(status); // 200 - OK
});
checkIfVideoExists("https://vimeo.com/234242343", function(status){
console.log(status); // 404 - Not found
});
Run Code Online (Sandbox Code Playgroud)