在浏览器窗口关闭或页面刷新时执行代码
通常,当用户关闭浏览器窗口或刷新页面时,需要执行特定操作刷新网页。幸运的是,有两个事件处理程序可以满足此需求: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 来说,onbeforeunload 事件不会在 iframe 被父级删除时触发,而是在 unload 和页面隐藏事件可以。但是,Firefox 目前存在一个错误,该错误会阻止在 iframe 删除情况下触发这些事件,从而导致无法在 Firefox 中删除 iframe 之前立即运行代码。
以上是如何在浏览器窗口关闭或页面刷新时执行代码?的详细内容。更多信息请关注PHP中文网其他相关文章!