📅  最后修改于: 2023-12-03 14:41:48.439000             🧑  作者: Mango
onpagehide
事件是一种在用户离开页面时触发的事件。它是 HTML DOM (文档对象模型) 中的一个事件类型,可以用于在用户关闭或离开页面时执行相应的操作。该事件通常用于保存用户数据、执行清理操作或向服务器发送请求。
window.onpagehide = function(){ ... }
window
:代表当前窗口对象。onpagehide
:表示在用户离开页面时触发的事件。function() { ... }
:事件的处理函数,可以是内嵌函数或指定外部函数。<!DOCTYPE html>
<html>
<head>
<title>onpagehide 示例</title>
</head>
<body>
<script>
// 定义 onpagehide 事件处理函数
window.onpagehide = function(event) {
// 保存用户数据
localStorage.setItem('username', 'John Doe');
// 向服务器发送请求,执行清理操作
fetch('/logout', { method: 'POST' })
.then(response => {
console.log('成功注销用户');
})
.catch(error => {
console.error('注销失败:' + error);
});
};
</script>
</body>
</html>
上述示例中,当用户关闭页面或跳转到其他页面时,onpagehide
事件将触发。在该事件的处理函数中,我们利用 localStorage
API 将当前用户名保存在本地浏览器中,随后通过 fetch
API 向服务器发送 POST 请求以注销用户并执行相关清理操作。当请求成功时,会在控制台打印成功注销用户的信息,失败时则会打印错误信息。
onpagehide
事件兼容大多数现代浏览器,包括 Chrome、Firefox、Safari 和 Edge 等。然而,Internet Explorer 不支持此事件。为了确保代码在不同浏览器上的正常运行,建议使用 beforeunload
事件作为兼容方案,因为它在大多数浏览器上都支持。
onpageshow
:当用户浏览到页面时触发,可用于执行与用户浏览行为相关的操作。onunload
:当页面被卸载时触发,可以用于执行一些清理操作。更多关于 HTML DOM 事件的信息,请参考 HTML DOM 事件参考手册。