防止用户使用 jquery 或 javascript 重新加载页面 [重复]

Posted

技术标签:

【中文标题】防止用户使用 jquery 或 javascript 重新加载页面 [重复]【英文标题】:Prevent User to reload page using jquery or javascript [duplicate] 【发布时间】:2012-06-21 03:12:12 【问题描述】:

可能重复:Prevent any form of page refresh using jQuery/javascript

如何防止用户使用 javascript 或 jquery 重新加载(刷新)html 页面。

第一次加载页面后,我想防止用户通过按 F5 或从浏览器刷新或任何方式重新加载页面。

Can i do that?

注意:我尝试window.onbeforeunload,但我不知道如何从中停止 window.onload 事件。

有什么帮助吗?

【问题讨论】:

另一个 SO 页面回答了您的问题:***.com/questions/3527041/… "使用 javascript 或 jquery" - 注意:如果不能用 JS 完成,那么它不能用 jQuery 完成... 我知道,但我的意思是,如果我可以通过 jquery 做到这一点,我最好通过 javascript 做到这一点 C0deH4cker,我尝试***.com/questions/3527041/…,但在警报要求我留在页面中或离开它之后,如果我选择保持它工作正常,但如果我选择离开它也会调用 onload 事件,而且我不需要它 @mbayloon 如果用户愿意,您无法阻止页面重新加载。在下面查看我的答案.. 【参考方案1】:

如果用户需要,不可能阻止用户重新加载页面/关闭页面。您可以使用以下两种方法:

您可以要求这样的确认:

<script>
window.onbeforeunload = function (e) 
e = e || window.event;

// For IE and Firefox prior to version 4
if (e) 
    e.returnValue = 'Sure?';


// For Safari
return 'Sure?';
;
</script>

这是上面的小提琴:http://jsfiddle.net/gopi1410/NujmL/

您可以使用以下方法阻止按 F5 键的默认设置:

document.onkeydown = function(event) 
  if(window.event)
        event.preventDefault();
  

【讨论】:

我试试你的答案,但正如我所说,我的问题是避免调用 windows.onload @mbayloon 这不可能,正如上面两个答案中提到的那样。【参考方案2】:

不,你不能。如果用户想要重新加载页面,您无法阻止他们。

【讨论】:

以上是关于防止用户使用 jquery 或 javascript 重新加载页面 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何防止使用 jQuery 或 Javascript 进行双重提交?

防止 PHP/JavaScript/JQuery (PayPal) 中的表单操作

javascrip jquery 学习随笔

jQuery完整日历 - 如何防止用户在非工作时间添加事件?

阻止用户伪造表单的安全方法

JQuery防止输入框上的多个反引号