Javascript 页面可见性API:有时在android-chrome上,浏览器处于后台10-20分钟后不会触发事件
我正在测试页面可见性API,并且经常在Android上使用Chrome浏览器进行测试。如果我从后台恢复浏览器,在页面底部打开代码,则不会触发可见事件。它仍然表示隐藏。 当浏览器处于后台大约15分钟或更长时间时,可能会发生这种情况 有人能告诉我为什么会这样吗 Chrome的版本是80。 我用于测试的Android是版本8。Javascript 页面可见性API:有时在android-chrome上,浏览器处于后台10-20分钟后不会触发事件,javascript,android,google-chrome,Javascript,Android,Google Chrome,我正在测试页面可见性API,并且经常在Android上使用Chrome浏览器进行测试。如果我从后台恢复浏览器,在页面底部打开代码,则不会触发可见事件。它仍然表示隐藏。 当浏览器处于后台大约15分钟或更长时间时,可能会发生这种情况 有人能告诉我为什么会这样吗 Chrome的版本是80。 我用于测试的Android是版本8。 我在另一部智能手机上用最新版本的安卓系统测试了它,它似乎工作得更好,但这不仅仅取决于Chrome版本?这两方面都是最新的 谢谢你的帮助 编辑:使用其他设备进行测试,结果相同。在
我在另一部智能手机上用最新版本的安卓系统测试了它,它似乎工作得更好,但这不仅仅取决于Chrome版本?这两方面都是最新的 谢谢你的帮助 编辑:使用其他设备进行测试,结果相同。在某些情况下,当浏览器从后台带到前台时,它不会触发事件 页面代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Test</title>
</head>
<body>
<script src="script.js"></script>
<h1 id="test">Test</h1>
</body>
</html>
它在开关标签上工作吗?问题有时出现在锁定解锁i guest上…它在开关选项卡上工作吗?问题有时出现在锁定解锁i guest上。。。。
// Set the name of the hidden property and the change event for visibility
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.msHidden !== "undefined") {
hidden = "msHidden";
visibilityChange = "msvisibilitychange";
} else if (typeof document.webkitHidden !== "undefined") {
hidden = "webkitHidden";
visibilityChange = "webkitvisibilitychange";
}
function handleVisibilityChange() {
var test = document.getElementById("test");
var d = new Date,
dformat = [d.getMonth() + 1,
d.getDate(),
d.getFullYear()
].join('/') + ' ' + [d.getHours(),
d.getMinutes(),
d.getSeconds()
].join(':');
if (document[hidden]) {
console.log("hidden");
test.innerHTML = "HIDDEN - " + d;
} else {
console.log("visible");
test.innerHTML = "VISIBLE - " + d;
}
}
// Warn if the browser doesn't support addEventListener or the Page Visibility API
if (typeof document.addEventListener === "undefined" || hidden === undefined) {
console.log("This demo requires a browser, such as Google Chrome or Firefox, that supports the Page Visibility API.");
} else {
// Handle page visibility change
document.addEventListener(visibilityChange, handleVisibilityChange, false);
}