【发布时间】:2014-11-13 23:05:21
【问题描述】:
移动设备不支持 HTML 5 Video play() 方法,除非该操作是用户生成的,例如来自点击/点击。这可以。我想知道的是,有没有一种可靠的方法来检测浏览器是否阻止了这个 play() 动作,当它不是用户生成的时候。
例如,在 chrome 中的桌面上不会,但在 Android 上会。
特别是我的问题是我们有第三个广告模块,它需要在我们初始化它时知道它是否可以自动播放广告。对于桌面浏览器,它总是可以做到这一点,但对于移动浏览器,它不能。当移动浏览器(ipad 上的 ios 8)开始支持无控件属性时,这最近成为一个问题。这导致了广告模块将删除控件,浏览器将阻止播放事件并且用户将没有本机控件来实际启动广告和视频的情况。 (广告模块移除了阻止您跳过广告的控件)。
我真的想避免浏览器/平台通过用户代理嗅探,并且想要一些更类似于特征检测的东西。
我目前最好的猜测是检查触摸事件功能,并假设触摸意味着不允许非用户操作播放,但我希望有一些东西可以消除这种“最佳猜测”。
【问题讨论】:
标签: javascript android ios html video