如何检测浏览器未最小化和相关选项卡未激活

How to detect browser not minimized and relevant tab is not inactive

本文关键字:选项 激活 最小化 检测 浏览器 何检测      更新时间:2023-09-26

在我的网站中,有一个下载页面。我想让我的用户在下载页面等待15秒。我想在下载按钮出现之前添加15秒计时器。同时,如果用户在浏览器中单击其他选项卡或最小化浏览器,计时器应停止。

我的问题是如何检测用户在网页上保持观看,这意味着浏览器没有最小化,这个选项卡不是不活动的。如何在javascript中完成此任务

这里有一个现成的js

(function() {
    var hidden, visibilityChange;
    if (typeof document.hidden !== "undefined") { 
        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 the page is hidden, pause the countdown;
    // if the page is shown, resume the countdown
    function handleVisibilityChange() {
        if (document[hidden]) {
            //pause your countdown
        } else {
            //resume your countdown
        }
    }
    // Warn if the browser doesn't support addEventListener or the Page Visibility API
    if (typeof document.addEventListener === "undefined" ||
        typeof document[hidden] === "undefined") {} else {
        // Handle page visibility change   
        document.addEventListener(visibilityChange, handleVisibilityChange, false);
    }
})();

希望这对你有帮助!:)