【问题标题】:Prevent User to reload page using jquery or javascript [duplicate]防止用户使用 jquery 或 javascript 重新加载页面 [重复]
【发布时间】: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 页面回答了您的问题:stackoverflow.com/questions/3527041/…
  • "使用 javascript 或 jquery" - 注意:如果不能用 JS 完成,那么它不能用 jQuery 完成...
  • 我知道,但我的意思是,如果我可以通过 jquery 做到这一点,我最好通过 javascript 做到这一点
  • C0deH4cker,我尝试stackoverflow.com/questions/3527041/…,但在警报要求我留在页面中或离开它之后,如果我选择保持它工作正常,但如果我选择离开它也会调用 onload 事件,而且我不需要它
  • @mbayloon 如果用户愿意,您无法阻止页面重新加载。在下面查看我的答案..

标签: javascript jquery html refresh reload


【解决方案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】:

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

【讨论】:

    猜你喜欢
    • 2011-12-14
    • 1970-01-01
    • 2017-06-26
    • 2021-12-15
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多