Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法检测用户是否使用jquery或javascript按下了刷新按钮?_Javascript_Jquery_Refresh - Fatal编程技术网

有没有办法检测用户是否使用jquery或javascript按下了刷新按钮?

有没有办法检测用户是否使用jquery或javascript按下了刷新按钮?,javascript,jquery,refresh,Javascript,Jquery,Refresh,我想知道jquery或javascript是否可以检测用户是否按下了浏览器的刷新按钮?如果是这样,我可以看一个例子吗?我不确定您是否可以这样做,但是作为一个黑客解决方案,您可以做的是将来自服务器的引用页面URL呈现为隐藏输入或其他内容,在页面加载时,检查隐藏div的值是否与当前URL相同。如果是,则必须是回发或刷新。有一种检测方法 检查是否按下了F5。至于检测是否单击了实际刷新,我不确定是否可能,但您可以对照密钥代码进行检查 无法检测用户是否在页面刷新之前按了刷新,但您可以使用cookies确

我想知道jquery或javascript是否可以检测用户是否按下了浏览器的刷新按钮?如果是这样,我可以看一个例子吗?

我不确定您是否可以这样做,但是作为一个黑客解决方案,您可以做的是将来自服务器的引用页面URL呈现为隐藏输入或其他内容,在页面加载时,检查隐藏div的值是否与当前URL相同。如果是,则必须是回发或刷新。

有一种检测方法

检查是否按下了F5。至于检测是否单击了实际刷新,我不确定是否可能,但您可以对照密钥代码进行检查


无法检测用户是否在页面刷新之前按了刷新,但您可以使用cookies确定页面在第二次加载后是否刷新


例如,每个页面都可以在cookie中存储
location.href
,如果最后一个cookie与当前页面的
location.href
相同,则用户最有可能刷新页面。

window.onunload事件将在刷新页面之前触发

window.onunload = function(){
    alert("unload event detected!");
}

如果您希望检测用户是否按F5或ctrl+F5,则可以使用以下代码:)


你到底想在这里做什么?假设F5会导致刷新。当用户按下后退按钮或单击任何链接时,它也会被触发。没有告诉您任何有关刷新的信息。@在我的例子中,使用主干,这实际上只捕获刷新事件,因为浏览器的“后退”按钮不重新加载页面,只浏览主干历史记录。但是,我认为你在任何“常规”网络应用程序中都是正确的。这在microsoft edge上有效吗?
$("body").keydown(function (e)
{
   if (e.which == 116 || e.which == 17) {
     inFormOrLink = true;
   }
});