YouTube网络如何阻止从Safari iOS上的控制中心播放



当浏览器进入后台时,我试图在 iOS 版 Safari 上停止视频。我能够通过页面可见性API做到这一点。

在iOS的主屏幕上,如果我打开控制中心并按播放按钮,它通常会播放上次Safari的内容。

我试图实现的是一种类似Youtube Web移动的行为:它能够防止这种行为。如果您使用运行 Youtube 的选项卡关闭 Safari,则无法按控制中心中的播放并播放内容。

我已经尝试了e.preventDefault()事件的行为。 我尝试在pageshow/pagehide中插入标志(正如我在另一个 SOW 答案中发现的那样,但这些事件似乎没有在后台运行时调用。

此外,我无法通过页面可见性 API 并在其回调中插入标志来控制它:即使事件在后台运行时被调用,"覆盖"HTMLMediaElement.play()也不起作用,问题与 iOS 的控制中心有关。

就像它不使用HTMLMediaElement.play()...

有没有人知道如何从网络上覆盖控制中心的"播放按钮"行为?谢谢。

当浏览器进入后台并从用户"中断"点开始重新加载内容时,Youtube 似乎完全卸载了内容。 我决定遵循同样的方式。

此外,同样的iOS行为似乎也发生在Android通知中心(当Chrome显示一个标签正在复制音频时)。

最新更新