Zabraňte spánku mobilního prohlížeče

Weboví vývojáři mají stále obtížnou práci, pokud jde o mobilní zařízení; web nikdy nebude poskytovat tolik rozhraní API nebo tolik kontroly jako nativní mobilní platformy, ale naši uživatelé očekávají stejně vynikající zkušenosti. Vytváření HTML5 her a aplikací náročných na média pro web může být opravdu obtížné, protože musíte věnovat pozornost výkonu a ostatním drobnostem, které nativní platformy poskytují.

Jednou z těchto malých funkcí je zabránění přechodu zařízení do režimu spánku, když uživatel nebyl aktivní. Představte si, že váš uživatel hraje hru, která nevyžaduje mnoho interakce, zažívá ukázku VR nebo dokonce jen příspěvek na blogu nebo prezentaci a obrazovka najednou zčerná – to je nepříjemnost, kterou vaši uživatelé nemusí (a neměli by mít). tolerovat. To je místo, kde přichází NoSleep.js:malá podložka rozhraní Wake Lock API, která zabraňuje přechodu prohlížeče a zařízení do režimu spánku!

Použití NoSleep.js je super snadné. Chcete-li spustit efekt bez spánku, jednoduše přidejte:

var noSleep = new NoSleep();

function enableNoSleep() {
  noSleep.enable();
  document.removeEventListener('touchstart', enableNoSleep, false);
}

// Enable wake lock.
// (must be wrapped in a user input event handler e.g. a mouse or touch handler)
document.addEventListener('touchstart', enableNoSleep, false);

Jakmile se budete chtít vzdát kontroly spánku, jednoduše zavolejte disable metoda:

// Disable wake lock at some point in the future.
// (does not need to be wrapped in any user input event handler)
noSleep.disable();

Jak tedy NoSleep.js zabraňuje efektu spánku? NoSleep.js zesměšňuje malé mp4 video a nepřetržitě je přehrává, což funguje, protože prohlížeče vědí dost na to, aby při přehrávání videa nesignalizovaly spánek. Jak chytrý způsob, jak zabránit tomu, aby zařízení usnulo!

Dostaneme někdy JavaScript API, které nám umožní ovládat, zda zařízení spí, nebo ne? Je možné, že žádný dodavatel prohlížeče se dosud nezavázal používat rozhraní Wake Lock API. To je důvod, proč my weboví vývojáři musíme zůstat chytří a vzít věci do svých rukou!