我目前正在开发一个web项目,我需要在滑动事件后开始播放视频,但无法完成此项工作。我正在使用HTML5视频播放器和JS来检测滑动事件。我第一次尝试使用hammer.js,这使得更容易检测到滑动事件,但在努力获得这个工作之后,我开始使用普通的js。苹果如何定义“用户操作”?
经过一番调试,我发现视频HTMLElement的播放方法返回一个承诺。
NotAllowedError(DOM异常35)::当我打电话
video.play()
从我的滑动处理这一承诺总是与以下消息拒绝该请求不被 用户代理或在当前上下文中的平台上,可能允许因为 用户拒绝了权限。
由于此问题仅在iOS中存在,我开始阅读苹果开发者文档,并注意到很多功能仅在“显式用户操作”后才可用。例如:
重要提示:webkitEnterFullscreen()方法只能在 响应用户操作(例如单击按钮)时调用。对于 示例,您不能调用webkitEnterFullscreen()以响应加载事件。
这同样适用于从调用JS play方法。它只有在响应用户操作而被调用时才有效。
这里我的问题是,苹果如何定义“用户行为”?因为显然,滑动事件不是用户操作。