YouTube 是如何运作的?
Posted
技术标签:
【中文标题】YouTube 是如何运作的?【英文标题】:How does YouTube work? 【发布时间】:2019-01-25 01:31:27 【问题描述】:Google Chrome 不尊重 html5 <video>
元素上的 autoplay
属性。页面加载后立即使用video.play()
javascript 会引发错误:
Uncaught (in promise) DOMException: play() failed 因为用户没有先与文档交互。
好的,但是 YouTube 视频是 HTML5 并且它们可以自动播放。 YouTube 使用什么技术来绕过 Chrome 的限制? 是否所有网页都可以这样做(或者不能,可能是因为 YouTube 有一个例外,因为 Google 拥有它)?
【问题讨论】:
How to make javascript alarm to be played 100%?的可能重复 @LouysPatriceBessette 不,我特意询问的是 YouTube 用于自动播放视频的 JavaScript。 我标记为重复,因为我已经回答了类似的问题。 This Google article 保存您寻找的所有信息。这是浏览器限制...与 Youtube 无关。 @LouysPatriceBessette 是的,但是 YouTube 在Promise
中究竟做了什么来绕过这个浏览器限制?
Youtube 归谷歌所有...我想他们破例了...用户肯定想看视频,这在其他网站上并不明显。
【参考方案1】:
对于 Youtube,它可能是一个预先填充的白名单
https://blog.google/products/chrome/improving-autoplay-chrome/
如果您没有浏览历史记录,Chrome 允许自动播放 1,000 多个网站,我们发现在这些网站中,访问者播放有声媒体的比例最高。
对于其他情况,可以参考以下规则(至少对于 Chrome)
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
在以下情况下允许自动播放声音:
用户与域进行了交互(点击、点击等)。
在桌面设备上,用户的媒体参与指数阈值已被超过,这意味着用户之前播放过有声视频。
【讨论】:
以上是关于YouTube 是如何运作的?的主要内容,如果未能解决你的问题,请参考以下文章
如何理解,来自 webview 的链接是 YouTube 链接,在 YouTube 应用程序中打开它?