- 105
- 0
需求背景
需要对 video 的控制(play、pause、seeked)做相应的业务回调处理,此处指人为手动操作,点击播放、暂停、拖动进度条等。
但是有特殊场景是由其他业务触发 video 的操作,直接 js 操作 video.play() 等方法,此时就不应该执行上述回调处理。
当前问题
我手动点击了播放,触发了业务回调,导致其他业务场景触发我的 js 执行了 video.play(),导致形成 loop 循环。
解决思路
需要区分主动操作(人为)和被动(js 调用),我加上一个标志位 flag,当有触摸点击事件时置为 true,业务场景触发 video.play() 时置为 false。如此在 video 对应的操作回调中就能区分是否需要执行业务处理。
伪码
video.addEventListener('play', ()=> {
if(flag) {
// 业务处理
doService();
}
});
function doSomething() {
flag = false;
video.play();
// doSomething...
}
问题是 flag = true 设置的契机不知道在哪里,还望有人帮助解答下,感激不尽。
前端小白至上~
2
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

