【问题标题】:Forbid the user to refresh the page禁止用户刷新页面
【发布时间】:2016-04-24 00:20:15
【问题描述】:

我在想是否有办法通过不允许用户以任何可能的方式刷新页面/网站来获得对页面/网站的完全控制。我只是好奇这是否可能。我知道有 100 万个缺点,但仍然存在。

最好的问候,

乔治·S.

【问题讨论】:

  • 出于安全考虑,您将无法完全禁止用户刷新/退出页面。但是,您可以使用onbeforeunload 事件来提示他们,这样他们失去工作的机会就会减少。
  • @SpeedyNinja 在阅读了一堆文章后,我注意到几乎不可能做到这一点。我猜浏览器开发人员做得很好。我的想法是创建一个实验性恶作剧页面,当然仅用于科学研究。

标签: javascript jquery refresh


【解决方案1】:

您可以使用类似这样的方式拦截刷新,在这种情况下,用户可以选择...

window.onbeforeunload=function(){return 'Page refresh has been intercepted to avoid an accidental loss of work';};

【讨论】:

  • 是的,我同意。然而,这种方法并不是我真正试图在我的想法中实现的。但是,我会给你最好的答案,因为在现实世界中这将是你能做的最好的事情。
  • 您可以使用他们现在所称的 Node-Webkit 或 NW 编写自己的自定义浏览器(如我所愿)。
【解决方案2】:

我最近遇到了人们在我的网站上多次点击刷新按钮的问题,这最终导致了服务器级别的问题。我在客户端输入了一些代码来捕获它并绕过按钮的提交。此外,我在服务器级别输入了一些代码,以创建一个会话条目,该条目将存储日期时间并在下一个请求到来时进行比较。它是在一定的时间范围内,它会被忽略。

if(e.which === 116) {
       console.log('blocked');
       return false;
    }
    if(e.which === 82 && e.ctrlKey) {
       console.log('blocked');
       return false;
    }

【讨论】:

  • 这不是你问题的答案,只是想和你分享。
  • 我打算用这些来阻止键盘上的按键。但是,我的想法太不可能完成了。感谢您分享您的体验。我很感激。
猜你喜欢
  • 2017-01-17
  • 2015-05-22
  • 2018-12-04
  • 1970-01-01
  • 2014-10-15
  • 2019-10-06
  • 2015-08-10
  • 1970-01-01
相关资源
最近更新 更多