我正试图在我的页面上修补Youtube播放器,这个月以来似乎已经破了(08/2016)。我已经看过谷歌关于2016年8月11日更新的发布说明,但找不到任何相关内容。
基本上,破坏的是我无法使用YouTube Player API playVideo()函数播放视频
当我渲染页面时,这是我的html标记来容纳玩家:
<object type="application/x-shockwave-flash" data="//www.youtube.com/v/XYZ&enablejsapi=1&controls=0&rel=0&playerapiid=XYZ" width="100%" height="100%" id="XYZ" style="visibility: visible;"><param name="allowScriptAccess" value="always"></object>
我正在尝试使用此功能运行:
self.PlayYouTubeVideo = function(videoId) {
var video = $('#' + videoId)[0];
setTimeout(function() {
if (typeof video.playVideo === 'function') {
video.playVideo();
...further code...
}
}, 500);
};
不幸的是每次检查时,video.playVideo值总是“未定义”。我延长了超时但没有任何区别。显然这个代码在上个月(07/2016)工作正常并且最近刚刚破产。我从来没有写过它,并且对Youtube播放器的实现有非常基本的了解。
任何人都愿意帮忙吗?
答案 0 :(得分:2)
根据the documentation of the JavaScript API,JS API 已弃用:
2015年1月27日宣布弃用YouTube JavaScript播放器API.YouTube Flash嵌入版也已被弃用。有关详细信息,请参阅弃用策略。请将您的应用程序迁移到IFrame API,它可以智能地使用客户端支持的任何嵌入式播放器 - HTML()或Flash()。
我遵循他们的建议和migrate to the iFrame API,特别是因为Flash不再是现代技术(你了),你会切断那些浏览器不支持它的人(就像大多数移动设备一样)用户)。