【发布时间】:2014-12-13 08:30:17
【问题描述】:
javascript/youtube api 检查播放限制状态
问题是我从 gdata/youtube-api 嵌入,有时它会返回播放 视频限制或不允许嵌入。所以我在检查一个状态或什么 来处理这个。我尝试添加 &format=5。 & 尝试了 -1 事件。 没有运气。任何想法将不胜感激。 function onPlayerStateChange(event) { if(event.data == -1){//其余代码}} 提前致谢。
Edit3/此问题的解决方案:因为您将 onError 设置为该函数中的函数 捕获事件并检查错误是解决此问题的方法。 function onPlayerError(event) {if(event.data === 150 || event.data === 101) {//rest here}}
编辑:添加更多代码。 编辑2:错误代码匹配是答案现在唯一的问题是我不 知道如何只捕获错误代码有什么想法吗?
<iframe id="player" type="text/html" width="560" height="50" src="'.$striphttp.'"></iframe>
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
playerVars: { 'autoplay': 1, 'controls': 1,'autohide':1,'wmode':'opaque' },
//videoId: 'JW5meKfy3fY',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onPlayerError
}
});
}
function onPlayerError(event) {
window.location.href = "#";
}
function onPlayerReady(event) {
//event.target.mute();
}
function onPlayerStateChange(event) {
if(event.data == 0) {
window.location.href = "#";
//location.reload();
}
}
【问题讨论】:
标签: javascript youtube youtube-api youtube-javascript-api