在刷新之前执行函数

41
在我的HTML页面中,当用户点击/按下F5按钮时,页面会刷新,但在刷新之前,我想执行一个函数或简单的提示框。用户可以点击刷新按钮,按下F5或Ctrl + R。使用核心JavaScript、jQuery或YUI实现。

1
可能是重复的问题:Javascript function, on web page close - Shoban
4个回答

66
    window.onbeforeunload = function(event)
    {
        return confirm("Confirm refresh");
    };

4
对我来说,这并没有解决所描述的问题。它触发了确认框(使用预定义且可能特定于浏览器的文本)在所有离开页面的事件上。也就是说,包括表单提交。那里真的很让人烦恼,而且不是想要的!有什么想法吗? - fluxon
1
然后,您需要进一步解释一下您的问题的特定内容...展示一些代码(jsfiddle?)并告诉我们您正在使用哪个浏览器... - bang
7
Chrome 阻止了它。 - behzad
2
这是一个过时的解决方案。确认块将无法在 onbeforeunload 中工作。https://www.chromestatus.com/features/5349061406228480 - Shiv Kumar Ganesh

8

4
$(window).bind("beforeunload", function(){
        return confirm("Do you really want to refresh?"); 
});

3

与jQuery相关的事件是:

$( window ).on('unload', function( event ) {
    console.log('Handler for `unload` called.');
});

对我来说很有效。


这个问题是关于“卸载”之前的事件,这个事件对此不起作用,请阅读文档:https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接