YouTube如何运作?

cli*_*ait -9 javascript youtube jquery autoplay html5-video

Google Chrome浏览器不尊重autoplayHTML5 <video>元素上的属性。video.play()页面加载后立即使用JavaScript会引发错误:

未捕获(承诺)的DOMException:play()失败,因为用户没有首先与文档进行交互。

可以,但是YouTube视频是HTML5,可以自动播放。YouTube使用什么技术绕过Chrome的限制?所有网页都能做到相同(或否,可能是因为YouTube拥有Google拥有的例外)吗?

小智 5

对于YouTube,它可能是预先填充的白名单

https://blog.google/products/chrome/improving-autoplay-chrome/

如果您没有浏览历史记录,Chrome可以自动播放1,000多个网站,在这些网站上,我们看到访问者播放音频媒体的比例最高。


对于其他情况,您可以参考以下规则(至少适用于Chrome)

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

在以下情况下,允许自动播放声音:

用户已与域进行了交互(单击,点击等)。

在台式机上,已经超过了用户的“媒体参与度索引”阈值,这意味着该用户以前曾播放有声视频。