首页  >  文章  >  web前端  >  如何在浏览器窗口关闭或刷新时执行 JavaScript 代码?

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

Barbara Streisand
Barbara Streisand原创
2024-11-22 02:04:14533浏览

How do I Execute JavaScript Code When a Browser Window Closes or Refreshes?

在窗口关闭或页面刷新时运行 JavaScript 代码

当用户关闭浏览器窗口或刷新页面时,通常需要执行最后一点代码。与 onload 事件类似,但对于关闭或刷新,主要有两个选项:onbeforeunload 和 onunload。

window.onbeforeunload 和 window.onunload

这两个事件处理程序允许您在窗口关闭或刷新时运行代码。主要区别在于 onbeforeunload 在浏览器提示用户确认对话框(例如“离开页面?”或“重新加载?”)之前触发,而 onunload 在用户确认操作后触发。

用法:

您可以通过直接设置窗口属性或使用 addEventListener 为这些事件处理程序分配函数

直接赋值:

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

addEventListener 方法:

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

注意事项onbeforeunload:

通常,onbeforeunload 用于防止用户离开页面(例如,如果他们有未保存的数据)。但是,您可以通过不返回字符串或设置 event.returnValue 来阻止确认对话框。

其他注意事项:

  • Iframe 删除: 如果 iframe 被其父级删除,则 beforeunload 事件不起作用,但 unload 和 pagehide 事件起作用在大多数现代浏览器中。
  • Firefox 错误:截至 2023 年 8 月,Firefox 存在一个错误,卸载和页面隐藏事件不适用于 iframe 删除。

以上是如何在浏览器窗口关闭或刷新时执行 JavaScript 代码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn