【问题标题】:Browser rounds to 1 sec any timeout < 1sec浏览器四舍五入到 1 秒任何超时 < 1 秒
【发布时间】:2017-02-17 17:12:44
【问题描述】:

启动函数,然后切换到另一个窗口->任何

也许你会给我一些魔法?

 [jsfiddle.net/c2dcu045/1/][1]

编辑: https://github.com/turuslan/HackTimer 已解决问题,感谢 NineBerry

【问题讨论】:

标签: javascript timeout settimeout


【解决方案1】:

Mozilla documentation 说:

从后台减少负载(和相关的电池使用量) 选项卡,超时通常被限制为每次不超过一次触发 非活动标签中的秒(1000 毫秒)。

Firefox 从版本 5 开始实现此行为(请参阅错误 633421, 1000ms 常数可以通过 dom.min_background_timeout_value 偏好)。 Chrome 实现了这一点 自版本 11 (crbug.com/66078) 以来的行为。

Firefox for Android 使用 15 分钟的超时值作为后台 自 Firefox 14 中的错误 736602 以来的选项卡,也可以使用背景选项卡 完全卸载。

然后它继续说这仅对音频播放处于活动状态的选项卡禁用。通常,您在调用setTimeout 时指定的时间不保证浏览器100% 遵守。

为什么以较慢的频率调用回调函数会对您的应用程序造成问题?

【讨论】:

  • with audio playback active - 我相信使用当前版本的 Firefox,它甚至不必处于活动状态 - 但这是一个临时解决方法,一些关于音频的错误,所以不要期望创建一个虚拟音频上下文并让您的间隔/超时永远运行:p
  • 因为有声音播放,用户会明白这个声音是否发生(轮盘声音)(它的所有时间可以是另一个超时);
猜你喜欢
  • 2017-12-26
  • 1970-01-01
  • 1970-01-01
  • 2011-02-18
  • 1970-01-01
  • 2021-12-11
  • 2018-05-27
  • 2014-12-12
  • 1970-01-01
相关资源
最近更新 更多