Skip to content

HenrikJoreteg/wakelock-lazy-polyfill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wakelock-lazy-polyfill

npm i wakelock-lazy-polyfill

Polyfills WakeLock if not present by lazy-loading nosleep.js (but only when actually requested).

That means if it's natively supported this lib only adds ~800 bytes to your project.

Can also drop it in via CDN:

<script src="http://unpkg.com/wakelock-lazy-polyfill"></script>

Test site

https://wakelock-polyfill.joreteg.com/

Background

The Web is getting a wonderful WakeLock API to keep your screen awake, but it's not broadly available yet. As of this writing it's a Origin Trial in Chrome that should ship in the next version.

Regardless, there's been a clever hack, called nosleep.js that plays a hidden video in the background to trick the browser into staying awake. This works pretty well, but...

  1. I want to use native version if available
  2. I only want to load the polyfill at the point where it's going to be used

So, here we are.

License

MIT

Credits

Obviously props to @richtr for nosleep.js and Thomas Steiner for his work on making the WakeLock API "A Thing".

If you like this, follow @HenrikJoreteg on twitter.

About

Use nosleep.js as a lazy-loaded polyfill for WakeLock API

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published