如何判断用户离开当前页面呢?

122 阅读1分钟

时隔很久 很想更新个帖子,上一篇帖子还是两年前,这突如其来的勤快!
闲来无事 突然想到了之前面试的时候做笔试题, 离开页面就会被提示,现在才想起来研究怎么回事?

当浏览器标签页被隐藏或显示的时候会触发visibilitychange事件。

document有一个属性 visibilityState用来记录当前页在浏览器中的激活状态
visibilityState有两个值:分别为 visiblehidden
当用户进入当前页面时,visibilityState值为 visible ;
当用户离开当前页面时,visibilityState值为 hidden ;

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        document.addEventListener('visibilitychange', function () {
            console.log(document.visibilityState)
            if (document.visibilityState == 'hidden') {
                console.log('离开页面');
            } else {
                console.log('进入页面');
            }
        })
    </script>
</body>
</html>

用来记录自己勤快的第一天!!