使用Javascript在页面刷新时调用函数

使用Javascript在页面刷新时调用函数,javascript,onbeforeunload,Javascript,Onbeforeunload,如果用户刷新页面,并且用户在确认框中单击“离开此页面”,我想调用javascript函数,否则不! 我不知道该怎么做。 谢谢只有在这种情况下,您才需要截取F5按键并设置onbeforeuload处理程序: function warnuser() { return "Don't refresh the page."; } window.onbeforeunload = warnuser; 演示: 请注意,如果用户单击“刷新”按钮,则此操作不起作用。这是不可能被截获的。如果您控制了托管页

如果用户刷新页面,并且用户在确认框中单击“离开此页面”,我想调用javascript函数,否则不! 我不知道该怎么做。
谢谢

只有在这种情况下,您才需要截取
F5
按键并设置
onbeforeuload
处理程序:

function warnuser()
{
    return "Don't refresh the page.";
}

window.onbeforeunload = warnuser;
演示:


请注意,如果用户单击“刷新”按钮,则此操作不起作用。这是不可能被截获的。

如果您控制了托管页面的服务器端,那么您可以通过
信号量
()逻辑地处理这一问题。基本上,它是一个旋转锁,将在服务器端会话中实现。如果他们以安全的方式进入和退出页面,则重置页面状态。当然,与所有旋转锁一样,必须有一个安全状态才能清除锁定。

如果刷新页面导致问题,您可能应该集中精力使其不成为问题,而不是首先阻止人们这样做。我同意@Quentin,您可能需要遵守“后重定向获取“范例。@jezternz-总有办法的!”但是沿着黑客路线走下去将永远主宰你的代码库:PI需要这样做…我已经完成了一半…只是想知道我如何知道用户是单击“停留在这个页面”还是“离开这个页面”并执行相应的操作。那么用户单击与刷新按钮的交互呢?我需要这样做…我需要做一半完成这项工作的方法…我只是想知道我如何知道用户是单击“停留在这一页”还是“离开这一页”,并相应地执行一些操作。
document.addEventListener('keydown', function(e) {
    if(e.which == 116) {
        window.onbeforeunload = function() {
            window.onbeforeunload = null;
            return "Do you really want to refresh the page?";
        }
    }
}, false);