Javascript 页面可见性API:有时在android-chrome上,浏览器处于后台10-20分钟后不会触发事件

Javascript 页面可见性API:有时在android-chrome上,浏览器处于后台10-20分钟后不会触发事件,javascript,android,google-chrome,Javascript,Android,Google Chrome,我正在测试页面可见性API,并且经常在Android上使用Chrome浏览器进行测试。如果我从后台恢复浏览器,在页面底部打开代码,则不会触发可见事件。它仍然表示隐藏。 当浏览器处于后台大约15分钟或更长时间时,可能会发生这种情况 有人能告诉我为什么会这样吗 Chrome的版本是80。 我用于测试的Android是版本8。 我在另一部智能手机上用最新版本的安卓系统测试了它,它似乎工作得更好,但这不仅仅取决于Chrome版本?这两方面都是最新的 谢谢你的帮助 编辑:使用其他设备进行测试,结果相同。在

我正在测试页面可见性API,并且经常在Android上使用Chrome浏览器进行测试。如果我从后台恢复浏览器,在页面底部打开代码,则不会触发可见事件。它仍然表示隐藏。 当浏览器处于后台大约15分钟或更长时间时,可能会发生这种情况

有人能告诉我为什么会这样吗

Chrome的版本是80。 我用于测试的Android是版本8。
我在另一部智能手机上用最新版本的安卓系统测试了它,它似乎工作得更好,但这不仅仅取决于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);
}