当浏览器进入后台时,我试图在Safari for iOS上停止视频。我可以通过Page Visibility API来做到这一点。
在iOS的主屏幕上,如果我打开Control Center并按播放按钮,则它通常会播放上一个Safari的内容。
我想要实现的是类似Youtube Web移动的行为:它能够防止这种行为。如果使用运行Youtube的标签页关闭Safari,则无法按控制中心中的播放键来播放内容。
我已经尝试过e.preventDefault()
事件上的行为。
我尝试在pageshow
/ pagehide
中插入标志(正如我在another SOW answer中发现的那样,但是这些事件似乎在后台运行时未调用。
此外,我无法通过Page Visibility API进行控制并在其回调中插入标志:即使在后台运行时调用了事件,“覆盖” HTMLMediaElement.play()
也无法正常工作,并且存在问题iOS的控制中心。
就好像它不使用HTMLMediaElement.play()
...
有人知道如何从Web覆盖控制中心的“播放按钮”行为吗?谢谢。
答案 0 :(得分:0)
当浏览器进入后台时,Youtube似乎完全卸载了内容,并从用户“中断”点开始重新加载了内容。 我决定以同样的方式。
此外,相同的iOS行为似乎也在Android通知中心上发生(当Chrome向您显示一个标签正在复制音频时)。