【问题标题】:Prevent user pressing f5 button in pop up window防止用户在弹出窗口中按 f5 按钮
【发布时间】:2013-08-17 16:48:19
【问题描述】:

我想阻止用户因为在我的项目中运行考试测试而按下 F5 按钮。

如果我使用普通浏览器窗口,我的代码可以正常工作,但现在我想在弹出窗口中使用它 - 在弹出窗口中我的代码不起作用。我的代码是:

document.onkeydown=function(e) {
    var event = window.event || e;
    if (event.keyCode == 116) {
        event.keyCode = 0;
        alert("This action is not allowed");
        return false;
    }
}

【问题讨论】:

  • 除了 F5 之外,还有许多其他刷新页面的方法。我认为你无法压制所有这些人。
  • 您必须在应用程序中保存状态并在刷新后恢复。没有办法阻止用户刷新您的页面(F5 不仅可以这样做)
  • @Spudley 我知道,但我想根据要求只禁用 f5 和鼠标右键,,,
  • 我一般用ctrl+R刷新。或者我可以使用浏览器工具栏中的刷新图标。然后是浏览器开发工具的可能性:我可以打开它并做任何事情(包括更改您的 JS 代码)。而且我们甚至还没有开始使用浏览器插件(安装了 GreaseMonkey,我可以再次覆盖您页面上的任何内容)。如果用户想刷新页面,他会的。您对此无能为力。阻止他以一种方式去做只会让他以另一种方式去做。如果这很重要,那么您需要更强大的保护,并且需要在服务器端。
  • @Spudley 我禁用了工具栏和工具栏中的图标,而且考场里有很多教练,所以没有一个用户使用任何附加组件或扩展,所以只需给我 f5 的代码并单击鼠标右键,,,

标签: javascript keyboard-shortcuts remap browser-refresh


【解决方案1】:

如果您正在寻找的是禁止刷新您的网页,那么您应该询问您为什么需要这个。如果是为了不重新发送已经发送的数据,那么您应该使用不同的 php 文件来处理您的数据,并使用不同的文件将它们显示给您的用户。通过这种方式,您可以检查是否有任何问题并相应地重定向他。

如果您出于某种特定原因确实需要阻止通过 F5 刷新,那么 Cobra_Fast 建议 e.preventDefault(); 应该可以解决问题。

【讨论】:

    【解决方案2】:

    试试这个

    myWindow=window.open('','','width=200,height=100');
    myWindow.document.write("<p>This is 'myWindow'</p>");
    myWindow.focus();
    myWindow.onkeydown=function(e) {
        var event = window.event || e;
        if (event.keyCode == 116) {
            event.preventDefault();
            alert("This action is not allowed");
        }
    }
    

    【讨论】:

    • 谢谢阿米特的作品,,,
    • 如果您认为这是答案,请将其标记为答案并投票。感谢您知道它有帮助
    【解决方案3】:
    document.onkeydown = function(e){
        var event = (window.event || e);
        if(event.keyCode==116){
            event.preventDefault();
            alert("This action is not allowed");
        }
    }
    

    您不需要这部分代码:event.keyCode = 0; - 按下键后更改 keyCode 不会影响任何内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      相关资源
      最近更新 更多