Javascript:onrefresh还是onreload?

Sam*_*Lee 6 javascript

我想要一个在用户重新加载时触发的事件处理程序.是onrefresh还是onreload要添加的正确处理程序?此外,这还会在onunload之前或之后开火吗?浏览器是否存在不一致之处?谢谢.

Rex*_*x M 6

我认为没有名为onrefresh或onreload的事件.您可以知道页面何时卸载,但知道原因(即用户下一步的位置)是在JavaScript的安全沙箱之外.了解页面是否已重新加载的唯一方法是知道用户在最后一页请求中的位置,这也超出了JavaScript的范围.您有时可以通过document.referrer它获取,但它依赖于浏览器的安全设置来允许访问该信息.


tyl*_*ell 5

WindowEventHandlers.onbeforeunload 事件处理程序属性包含发送 beforeunload 时执行的代码。当窗口即将卸载其资源时会触发此事件。

window.onbeforeunload = function () {
   return 'Are you sure you want to leave?';
}
Run Code Online (Sandbox Code Playgroud)

这将向用户显示一个确认对话框,其中包含您在函数中返回的消息。它将为用户提供离开此页面或取消选项。

没有办法绕过确认,因为它可能被用于恶意原因。

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload