visibilitychange事件监听用户切换浏览器标签

场景需求: 用户离开当前浏览器标签页面,停止定时器任务, 切换回原来页面的时候,继续执行定时器任务

  • 当用户在浏览器定时任务页面的时候, 执行搬砖工作
  • 离开页面的时候, 定时任务销毁停止

![在这里插入图片描述](https://img-blog.csdnimg.cn/4b40b31c0a9f48e9bda35fedeb6c28cb.pngvisibilitychange事件监听用户切换浏览器标签_第1张图片

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>定时任务页面</title>
</head>

<body>
    <script>
        var countSecondFn = null;
        function goOnCount() {
            countSecondFn = setInterval(() => {
                //执行任务
                console.log('开始搬砖');
            })
        }
        document.addEventListener('visibilitychange', function () {
            if (document.visibilityState == 'hidden') {
                window.clearInterval(countSecondFn);
                countSecondFn = null;
                console.log('离开当前页面,清除任务');
            } else if (document.visibilityState == 'visible') {
                goOnCount();
            }
        });
    </script>
</body>

</html>

你可能感兴趣的:(代码片段,杂乱无章,javascript,前端,html)