”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在浏览器窗口关闭或页面刷新时执行代码?

如何在浏览器窗口关闭或页面刷新时执行代码?

发布于2024-11-22
浏览:998

How to Execute Code on Browser Window Close or Page Refresh?

在浏览器窗口关闭或页面刷新时执行代码

通常,当用户关闭浏览器窗口或刷新页面时,需要执行特定操作刷新网页。幸运的是,有两个事件处理程序可以满足此需求: window.onbeforeunload 和 window.onunload。

window.onbeforeunload

onbeforeunload 事件在用户操作时触发尝试离开页面。通常,它用于显示一个确认框,要求用户确认他们的选择,或者如果用户有未保存的数据,则阻止他们离开页面。但是,通过不返回字符串或设置 event.returnValue,您可以阻止浏览器显示消息并以静默方式执行代码。

window.onunload

从浏览器卸载页面时会触发 onunload 事件。它通常用于执行清理任务,例如删除任何延迟事件侦听器或关闭数据库连接。

实现

onbeforeunload 和 onunload 都可以分配给窗口属性或使用 .addEventListener 方法。例子如下:

// window property
window.onbeforeunload = function() {
  // Do something
};

// .addEventListener
window.addEventListener("beforeunload", function(e) {
  // Do something
});

注意:

对于 iframe,当 iframe 被其父级删除时,onbeforeunload 事件不会触发,但 unload 和 pagehide 事件会触发。但是,Firefox 目前存在一个错误,该错误会阻止在删除 iframe 的情况下触发这些事件,从而导致无法在 Firefox 中删除 iframe 之前立即运行代码。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3