JS中的onpagehide事件

各位好啊!我在w3cschool上面看到onpagehide的用法是: 该事件在用户离开当前网页跳转到另外一个页面时触发。
所以我写了一段代码想尝试一下:

   <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <a href="http://www.baidu.com/">百度</a>

    <script>
        window.onpagehide = function () {
            alert("1");
        }
    </script>
</body>
</html>

我的理解是点击“百度”的时候会弹出“1”,可为什么直接跳转到百度,而没有弹出“1”呢?百度了一下,发现没有太多关于onpagehide的文章,w3cschool上面也没有实例,所以来这里打扰各位啦!

阅读 8.5k
2 个回答

事件是触发了的,只不过页面都跳转了。window 对象 和 dom 对象都已经被销毁了。这个效果自然是无法实现了。如果你在事件里面加一段ajax 请求是可以执行的。

你可以使用

window.addEventListener( 'blur', function() { console.log( 'blur' ); } );
window.addEventListener( 'focus', function() { console.log( 'focus' ); } );

来实现同样的效果,不过不清楚为什么onpagehide事件不被触发

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题