【发布时间】:2018-01-09 03:10:56
【问题描述】:
我需要处理浏览器上的事件,例如跨浏览器上的返回、刷新和关闭。问题是我的客户希望每个事件都有不同的逻辑。 对于后退按钮,这个解决方案非常好:
但是现在很难区分刷新和关闭,我发现的所有解决方案都是关于使用“beforeunload”事件:
- How to know whether refresh button or browser back button is clicked in firefox
- Handle refresh page event with javascript
- https://forums.asp.net/t/1829278.aspx?Detect+Browser+refresh+reload+button+click+in+all+browsers(这个不稳定)
- https://www.quora.com/What-is-the-best-way-to-detect-refresh-event-in-jquery
- https://www.sitepoint.com/community/t/detect-refresh-button-in-the-browser/1119/22
对于 F5 刷新,我可以捕捉键盘上的事件,但是当用户按下浏览器上的刷新按钮时,我不能。如果我使用“beforeunload”,则与关闭浏览器事件相同。
我还找到了一个解决方法:
但不幸的是,我想做的是在页面卸载之前显示消息(在浏览器关闭时显示,但在刷新时不显示)
有谁知道它的解决方案(跨浏览器)
谢谢
【问题讨论】:
标签: javascript jquery cross-browser