浏览器关闭时window.unload上的javascript警报,但在刷新浏览器时不应发出警报

浏览器关闭时window.unload上的javascript警报,但在刷新浏览器时不应发出警报,javascript,javascript-events,Javascript,Javascript Events,我想在window.onunload事件中弹出一条消息 当前当用户 a) 导航离开 b) 关闭窗口 c) 按F5或 d) 按浏览器工具栏中的“刷新”按钮 警报将出现 但我需要它在用户单击浏览器工具栏刷新按钮时不发出警报 我们添加了在用户按下F5或导航离开时不发出警报的条件,但在用户单击浏览器刷新按钮时也不应出现警报 任何类型的解决方法都很好。我可以提供一种方法来知道用户是否单击了浏览器按钮(后退、前进、关闭浏览器等)。我找不到任何方法来确定单击了哪个按钮, 但我希望它能帮助你 要了解用户是否单击

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

当前当用户

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

警报将出现

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

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


任何类型的解决方法都很好。

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

要了解用户是否单击了浏览器按钮,请执行以下步骤: 1.注册window.beforeunload事件。 2.在处理程序中,选中event.clientY。
3.据我所知,如果event.clientY不是defined或event.clientYWell,这是不可能的。虽然如果你分享你需要它的原因,同样可以用更好的解决方案来实现。嗯?2和3没有意义。当用户按下浏览器工具栏中的刷新按钮时发出警报,但当用户单击浏览器工具栏刷新按钮时不发出警报^他的意思是,除了点击刷新按钮外,他希望在所有卸载情况下都出现警报。但语言令人困惑。我已经编辑了你的问题-如果我的措辞正确,请告诉我 function beforeUnloadHandler(eventArg) { var _e = window.event || eventArg; // browser button click if (isNaN(_e.clientY) || _e.clientY < 0) { // unload process will continue // and unload event will be fired return; } // a confirmation with 'test alert' text will appear // if the user clicks 'Cancel', the unload process will stop // and unload event won't be fired. return "test alert"; } window.onbeforeunload = beforeUnloadHandler;