background-timer

2.0.3 • Public • Published

background-timer

DEPRECATED: Use silent-audio instead.

Allows timeouts, intervals and animations to continue in background tabs.

Timers will use regular methods when the tab is focused, and rely on timers within a small popup window when out of focus.

Why?

Chrome and Firefox throttle timers in background tabs to prevent abuse of resources. Unfortunately, well-behaving apps are sometimes broken by this policy. This provides a workaround, while still allowing the user to "opt-out" by closing the popup window.

Install

NPM:

npm install --save background-timer
const BackgroundTimer = require('background-timer')

Script:

<script src="dist/background-timer.js">
window.BackgroundTimer

Examples

  element.addEventListener('click', function () { // must be triggered by user event
    BackgroundTimer({global: true}) // override globals with this option
  })
 
  window.requestAnimationFrame(function () {}, 50)
  window.setInterval(function () {}, 50)
  window.setTimeout(function () {}, 50)
  
  window.cancelAnimationFrame(id)
  window.clearInterval(id)
  window.clearTimeout(id) 
  element.addEventListener('click', function () { // must be triggered by user event
    var backgroundTimer = new BackgroundTimer({global: false}) // it's cleaner to avoid globals
  })
  
  backgroundTimer.requestAnimationFrame(function () {}, 50)
  backgroundTimer.setInterval(function () {}, 50)
  backgroundTimer.setTimeout(function () {}, 50)
  
  backgroundTimer.cancelAnimationFrame(id)
  backgroundTimer.clearInterval(id)
  backgroundTimer.clearTimeout(id) 

Readme

Keywords

none

Package Sidebar

Install

npm i background-timer

Weekly Downloads

2

Version

2.0.3

License

MIT

Last publish

Collaborators

  • rationalcoding