dom事件-浏览器关闭时window.unload上的JavaScript警报,但刷新浏览器时不应发出警报

dom events - JavaScript alert on window.unload when browser is closed but should not alert when browser is refreshed

本文关键字:浏览器 刷新 JavaScript 事件 window dom 上的 unload 警报      更新时间:2023-09-26

我想在window.onunload事件中弹出一条消息。

当前用户:

a) 导航离开
b) 关闭窗口
c) 按下F5
d) 按下浏览器工具栏中的刷新按钮

警报将出现。,但我需要它在用户点击浏览器工具栏刷新按钮时不发出警报。

我们添加了当用户按下F5或导航离开时不发出警报的条件,但当用户单击浏览器刷新按钮时也不应出现警报。

任何类型的变通办法都很好。

我可以提供一种方法来了解用户是否点击了浏览器按钮(后退、前进、关闭浏览器等)。我找不到任何方法来判断是点击了哪个按钮,但我希望它能帮助你。

要了解用户是否单击了浏览器按钮,请执行以下步骤:1.在加载事件之前注册窗口。2.在处理程序中,检查event.clientY。3.如果event.clientY未定义或event.clientY<0,则您知道用户单击了浏览器按钮。

例如:
(您可能需要更改代码以适应您的问题)

函数beforeUnloadHandler(eventArg){var _e=window.event||eventArg;//单击浏览器按钮如果(isNaN(_e.clientY)||_e.clientY<0){//卸载过程将继续//和卸载事件将被激发回来}//将显示带有"测试警报"文本的确认//如果用户单击"取消",卸载过程将停止//并且卸载事件不会被触发。返回"测试警报";}window.onbeforeunload=beforeUnloadHandler;

此代码适用于所有主要浏览器:chrome、ff、ie9、ie8、ie7、ie6、opera 11、opera 10、safari 3、4、5。