JavaScript代码在失去焦点时停止
我们的项目使用了多种库(Kinetic Js、jquery、buzz.Js等),我们有很多动画正在进行,一些声音同时播放,我们的目的是在用户更改浏览器的选项卡或窗口时停止所有JavaScript进程,从而失去焦点 我们知道,JavaScript代码在失去焦点时停止,javascript,focus,delay,sleep,Javascript,Focus,Delay,Sleep,我们的项目使用了多种库(Kinetic Js、jquery、buzz.Js等),我们有很多动画正在进行,一些声音同时播放,我们的目的是在用户更改浏览器的选项卡或窗口时停止所有JavaScript进程,从而失去焦点 我们知道,onBlur和onFocus使我们能够检测到这种变化,通过一个setTimeOut功能,我们可以停止这种变化。我们想知道是否有一种更有效的方法或更低级的解决方案 提前感谢。这些天,有requestAnimationFrame() 文章提供了有关浏览器支持的信息,以及如何在不支
onBlur
和onFocus
使我们能够检测到这种变化,通过一个setTimeOut
功能,我们可以停止这种变化。我们想知道是否有一种更有效的方法或更低级的解决方案
提前感谢。这些天,有requestAnimationFrame()
文章提供了有关浏览器支持的信息,以及如何在不支持浏览器的浏览器中进行模拟:。如今,出现了requestAnimationFrame()
文章提供了有关浏览器支持的信息,以及如何在不支持浏览器的浏览器中进行模拟:。blur仅对实际接受焦点的元素有用,而不是所有元素都有用。当选项卡或浏览器失去窗口焦点时,一些浏览器会自动推迟某些事情的执行(例如,我认为Chrome停止播放Flash)。我原以为搜索“检测选项卡是否当前处于活动状态”会发现一些东西。模糊只对实际接受焦点的元素有用,而不是所有元素都有用。当选项卡或浏览器失去窗口焦点时,一些浏览器会自动推迟某些事情的执行(例如,我认为Chrome停止播放Flash)。我原以为搜索“检测标签是否当前处于活动状态”会发现一些东西。我们同时播放动画和声音。当前选项卡失去焦点时,声音仍会播放,但动画会冻结。我们使用CreateJS制作动画,使用BuzzJS播放声音。我们的问题不是基于CPU的使用,而是要控制动画+声音。我们可以做些什么来避免动画冻结?或者,在另一方面,当声音和动画失去焦点时,我们如何停止声音和动画?您的声音是连续的还是与动画同步?我们尝试使声音与动画同步。一些动画包含部分文本,相应的声音是有人口述文本。@JoséSilva我也注意到了这个问题。看起来这是浏览器本身以及处理基于CSS的动画的方式的问题。我认为如果你有画布动画,这个问题不会发生,因为画布动画完全依赖于我们的实现,而不是浏览器供应商。我们同时有动画和声音播放。当前选项卡失去焦点时,声音仍会播放,但动画会冻结。我们使用CreateJS制作动画,使用BuzzJS播放声音。我们的问题不是基于CPU的使用,而是要控制动画+声音。我们可以做些什么来避免动画冻结?或者,在另一方面,当声音和动画失去焦点时,我们如何停止声音和动画?您的声音是连续的还是与动画同步?我们尝试使声音与动画同步。一些动画包含部分文本,相应的声音是有人口述文本。@JoséSilva我也注意到了这个问题。看起来这是浏览器本身以及处理基于CSS的动画的方式的问题。我认为如果你有画布动画,这个问题不会发生,因为画布动画完全依赖于我们的实现,而不是浏览器供应商。