【发布时间】:2011-11-11 01:53:49
【问题描述】:
当我尝试加载某些视频(例如流行歌曲)时,API 返回错误代码 150(请求的视频不允许在嵌入式播放器中播放)。但是,如果我将视频加载到 iframe 或嵌入标签中,它就可以工作。
这行得通:
<iframe width="560" height="315" src="http://www.youtube.com/embed/j5-yKhDd64s" frameborder="0" allowfullscreen></iframe>
这也有效:
<object width="560" height="315"><param name="movie" value="http://www.youtube.com/v/j5-yKhDd64s?version=3&hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/j5-yKhDd64s?version=3&hl=en_GB" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>
这会提示 150 错误:
var defaultVideo = 'j5-yKhDd64s';
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player-wrap', {
height: '390',
width: '640',
videoId: defaultVideo,
events: {
'onError': onPlayerError
}
});
}
function onPlayerError(event) {
alert('Error: '+event.data);
player.stopVideo();
player.loadVideoById('');
}
这是为什么?
这里是 API 的参考:http://code.google.com/apis/youtube/js_api_reference.html#Events
【问题讨论】:
标签: javascript youtube youtube-api