如何检测Android Chrome睡眠事件?

Ozd*_*zdy 5 html javascript android google-chrome

你们知道如何检测移动 Chrome 睡眠事件吗?我尝试过:

window.onblur = fnPause;
document.onfocusout = fnPause;
document.body.onfocusout = fnPause;

var hidden, visibilityChange; 
if (typeof document.hidden !== "undefined") { // Opera 12.10 and Firefox 18 and later support 
    hidden = "hidden";
    visibilityChange = "visibilitychange";
} else if (typeof document.mozHidden !== "undefined") {
    hidden = "mozHidden";
    visibilityChange = "mozvisibilitychange";
} else if (typeof document.msHidden !== "undefined") {
    hidden = "msHidden";
    visibilityChange = "msvisibilitychange";
} else if (typeof document.webkitHidden !== "undefined") {
    hidden = "webkitHidden";
    visibilityChange = "webkitvisibilitychange";
}

if (typeof document.addEventListener === "undefined" || 
    typeof document[hidden] === "undefined") {
    // doesn't support event listeners :(
} else {
// Handle page visibility change   
    document.addEventListener(visibilityChange, function() {if (document[hidden]) {fnPause();} else {fnResume();}}, false);
} 
Run Code Online (Sandbox Code Playgroud)

当我打开 html5 游戏并且手机进入睡眠模式并锁定时, fnPause() 仍然不会被调用。

这个问题不是重复的 - Is it possible, in JavaScript, to detector when the screen is closes in the Android & iOS browsers。我上面尝试的两个解决方案(模糊和页面可见性)没有成功,第三个 - 使用计时器 - 只检测恢复事件而不是睡眠。