ios - 如何通过单击播放按钮而不是嵌入来触发 YouTube 视频在 iOS 上的浏览​​器中播放?

标签 ios video youtube youtube-javascript-api

在我的网站上,我希望用户无需离开页面即可观看嵌入的 YouTube 视频,但我不希望在点击之前看到不那么风格化的 YouTube 嵌入内容。

这在桌面上完全可行,因为您可以使用 YouTube JavaScript API 来触发嵌入播放,但在 iOS 上,播放器的编程触发播放被阻止。那么我怎样才能在 iOS 上做到这一点呢?

最佳答案

在考虑这个问题时,我认为一种替代方法是有一个不透明且有样式的图层,但您可以单击它。这意味着用户认为他们点击了一个漂亮的按钮,而实际上他们只是点击嵌入来播放。

事实证明有一种方法可以做到这一点,那就是使用奇特的(非官方)CSS pointer-events 属性!将其设置为 none 意味着不会记录点击,而是直接穿过元素到达其后面的任何内容。在本例中,YouTube 嵌入了 iframe。支持 iOS 6+。

这是一个JSFiddle它的工作原理。

请注意,这是针对 iOS(也可能是 Android)的 - 它利用了视频开始播放时自动全屏显示的行为。如果您在桌面上观看此内容,覆盖层仍然是..覆盖的。

还需要进行一些改进才能使其变得更漂亮:

  • 处理初始点击并更改用户界面,以便他们立即知道视频正在开始。也许隐藏覆盖层、淡化它或将其更改为仅表示“正在加载...”
  • 完成后,通过重新创建 iframe 来重置视频

你可以用这种技术做一些棘手的事情,例如有一个小播放器 iframe,上面覆盖着一个小按钮。仍然会全屏显示,所以它会正常工作。

但无论如何,这就是在 iOS 上播放 YouTube 视频而用户不知道他们点击了嵌入的概念证明。

关于ios - 如何通过单击播放按钮而不是嵌入来触发 YouTube 视频在 iOS 上的浏览​​器中播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29110875/

相关文章:

javascript - 你如何让 Video.JS 向前和向后跳 15 秒?

iphone - iOS 7 : Proper iPad icons for iPhone app?

ios - 如何使用 Swift 为多个 subview 实现点击手势识别器

opencv - 从视频流中获取像素数据

ios - Twilio 的 "Programmable Video"是如何工作的?

python - 在Pytube中,有什么方法可以获得最高的音频质量?

php - youtube api maxResults

php - Youtube 直播 API : liveStreamingNotEnabled

javascript - Safari Web Inspector 不调试 iOS 7 模拟器中的 JavaScript

iphone - Objective-c - XMLReader 无法正常工作