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。我上面尝试的两个解决方案(模糊和页面可见性)没有成功,第三个 - 使用计时器 - 只检测恢复事件而不是睡眠。