【问题标题】:How to persist fullscreen mode in browser like youtube.com playlist does?如何在 youtube.com 播放列表等浏览器中保持全屏模式?
【发布时间】:2018-01-23 00:13:30
【问题描述】:

在 youtube.com 中,当您在全屏模式下播放播放列表时,从播放列表中的一个视频切换到另一个视频时,全屏仍然存在。我正在尝试在我的网站上做同样的事情,那里有一个视频播放列表,用户可以全屏模式观看,但新视频开始播放,全屏不会持续。

我从 Fullscreen API 了解到,需要用户交互才能使视频全屏显示。但是,那么 youtube.com 到底是怎么做到的呢?

任何帮助将不胜感激!谢谢。

【问题讨论】:

  • 不管是不是全屏你都应该可以改videoElement.src
  • 您是否尝试过使用.requestFullScreen
  • Tenzin,您能否解释一下您为解决此问题而获得报酬这一事实应该如何激励任何人回答?我建议从问题中删除 "This is for work."。充其量是无关紧要的。
  • @PHPglue videoElement.src 不是我想做的选择。
  • @guest271314 当我在全屏模式下从一个视频切换到另一个视频时,.requestFullScreen 不起作用,因为它需要用户交互。但是 youtube.com 播放列表能以某种方式做到这一点?

标签: javascript html video youtube fullscreen


【解决方案1】:

这不是技术(深入)答案,但可以作为一般解释帮助您。我目前正在研究我正在开发的产品的这个确切问题。

全屏模式在您描述的场景中不存在的原因是因为切换视频相当于导航到不同的页面。

出于安全考虑,这是设计使然:“此外,在全屏模式下导航到另一个页面 [...] 也会退出全屏模式。” 见:Fullscreen API

因此,诀窍是让全屏显示的元素发生变化,从而不导航到另一个页面。

据我所知,YouTube 会全屏显示视频的包装元素,当您切换到其他视频时,该元素的内容会发生变化。但是您所在的页面保持不变。 YouTube 如何在不退出全屏的情况下更改 window.location ......不幸的是,我不知道。 但它必须与仅全屏部分页面有关。否则他们会绕过 API 的安全考虑。听起来 Google 的开发团队无法证明这种方法是合理的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 2021-12-22
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    相关资源
    最近更新 更多