我正在尝试修复我的页面上的Youtube播放器,这个月(2016年8月)似乎坏了。我看过谷歌2016年11月8日更新的发布说明,但找不到任何相关的内容。
基本上,什么打破了我不能播放视频使用YouTube播放器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);
};
不幸的是,每次我查看它,视频。playVideo值总是"未定义"。我延长了暂停时间,但没有任何影响。显然,这个代码在上个月(2016年7月)工作得很好,最近才崩溃。我从来没有写过它,并且对Youtube播放器的实现有非常基本的了解。
有人愿意帮忙吗?根据JavaScript API的文档,JS API 已弃用:
YouTube JavaScript Player API的弃用于2015年1月27日宣布。YouTube Flash嵌入也已被弃用。有关更多信息,请参阅弃用策略。请将您的应用程序迁移到IFrame API,它可以智能地使用客户端支持的任何嵌入式播放器- HTML()或Flash()。
我会听从他们的建议,迁移到iFrame API,特别是因为Flash不是一项现代技术(不再),你会切断那些浏览器不支持它的人(像大多数移动用户)。