我想知道jquery或javascript是否能检测到用户是否按下了浏览器的刷新按钮?如果可以,能否给我一个例子?
无法检测用户在页面刷新之前是否按下了刷新按钮,但是可以使用cookie来确定页面在第二次加载后是否刷新。
例如,每个页面都可以将 location.href
存储在一个cookie中,如果最后一个cookie等于当前页面的相同 location.href
,则用户很可能刷新了页面。
在页面即将刷新之前,window.onunload事件将被触发。
window.onunload = function(){
alert("unload event detected!");
}
$("body").keydown(function (e)
{
if (e.which == 116 || e.which == 17) {
inFormOrLink = true;
}
});
我不确定你是否能够这样做,但是你可以使用一个hacky的解决方法,从服务器渲染引用页面的URL到一个隐藏的输入框中,然后在页面加载时,检查隐藏div的值是否与当前URL相同。如果是,则必须是一个postback或刷新。