无法识别的功能:YouTube 嵌入式播放器出现"自动播放"错误



在使用data 3 API 加载 YouTube iFrame 嵌入播放器时,是否有其他人在浏览器控制台中看到此警告?

Unrecognized feature: 'autoplay'.

该错误发生在Google文件中:www-widgetapi.js:110,它似乎是JavaScript错误(这是来自第110行):

c.setAttribute("allowfullscreen",1);c.setAttribute("allow","autoplay; encrypted-media");

我认为自动播放部分应该只是:

c.setAttribute("autoplay",0);

文件在这里:https://s.ytimg.com/yts/jsbin/www-widgetapi-vflkvQ6Kw/www-widgetapi.js

该错误甚至发生在他们的开发人员演示页面上:https://developers.google.com/youtube/youtube_player_demo

人们如何向谷歌报告这些事情?

我想知道这是否:

https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

您可能已经注意到,Web浏览器正朝着更严格的方向发展 自动播放策略,以改善用户体验,最小化 鼓励安装广告拦截器,并减少数据消耗 昂贵和/或受限的网络。这些更改旨在 为用户提供更好的播放控制权,并使发布商受益 具有合法用例。

Chrome 的自动播放政策很简单:

  • 始终允许静音自动播放。
  • 在以下情况下,允许自动播放声音:
    • 用户已与域交互(单击、点击等)。
    • 在桌面设备上,用户的媒体参与度指数阈值已超过,这意味着用户之前播放过带声音的视频。
    • 在移动设备上,用户已将网站添加到其主屏幕。
    • 顶部帧可以将自动播放权限委派给其 iframe,以允许自动播放声音。

与它有任何关系。我提出了同样的问题,文章提到自动播放的方式将从2018年1月开始(现在!🎉)将发生变化

我已经在我的代码中删除了自动播放,而是使用了本答案中描述的技术

这样:

player = new YT.Player( videoID , {
videoId: youtubeID, // the ID of the video (mentioned above)
playerVars: {
// autoplay: 1, // start automatically
controls: 0, // don't show the controls (we can't click them anyways)
modestbranding: 1, // show smaller logo
loop: 1, // loop when complete
playlist: youtubeID // required for looping, matches the video ID
},
events : {
'onReady' : onPlayerReady
}
});
function onPlayerReady(event) {
player.mute();
player.playVideo();
}

我不确定这是否构成"答案",所以如果你不这样做,请告诉我,我会删除它。

我只是从 iframe 元素的 allow 属性中删除了autoplay;,并在 URL 中包含 autoplay=1 获取 src 的参数:

src="https://www.youtube.com/embed/Kjf0PdhFqMw?autoplay=1&enablejsapi=1&modestbranding=1&rel=0&loop=1&controls=0&showinfo=0&mute=1&wmode=transparent"

自动播放有效,并且该错误不再发生。

相关内容

  • 没有找到相关文章

最新更新