Is it possible, in JavaScript, to detect when the screen is turned off in the Android & iOS browsers

android, android-browser, ios, javascript, mobile-safari

Solution

There is few options to check it:

Using Visibility API

Using `focus` and `blur` events to detect browser tab visibility:

window.addEventListener("focus", handleBrowserState.bind(context, true));
window.addEventListener("blur", handleBrowserState.bind(context, false));

function handleBrowserState(isActive){
    // do something
}

- Using timers, as mentioned above

Problem

I was tracking down some ridiculously high load times that my app's javascript reported, and found that Android (and iOS) pause some JavaScript execution when the window is in the background or the display is off. On Android, I found that I could use the `window.onfocus` and `onblur` events to detect when the app was switching to the background (and js execution would soon be paused, at least for new scripts), but I can't find a way to detect when the screen is turned on or off. Is this possible? (On Safari, I had similar results except that `onfocus` and `onblur` didn't fire reliably.)

Original source