【问题标题】:Disable reload and f5 on my php page在我的 php 页面上禁用重新加载和 f5
【发布时间】:2013-03-21 22:17:28
【问题描述】:

我在我的 php 页面上使用了一个计时器,但是当一些刷新页面时计时器从开始开始。 我想在我的 php 页面上禁用 f5 或重新加载选项。

提前致谢

【问题讨论】:

  • 这不可能(也不应该)。
  • 那么当我的页面重新加载时,如何防止我的计时器开始计时
  • 将定时器的状态保存到onbeforeunload,并恢复到onload
  • 请给我一些例子
  • 您最多可以将计时器的当前值存储在 cookie 中并检查每个计时器滴答声。但您可以阻止用户在其浏览器中重新加载/刷新页面。

标签: php javascript jquery timer


【解决方案1】:

我测试了它,它可以工作。

function disable_f5(e)
{
  if ((e.which || e.keyCode) == 116)
  {
      e.preventDefault();
  }
}

$(document).ready(function(){
    $(document).bind("keydown", disable_f5);    
});

【讨论】:

  • 是的,它的工作,但它只是禁用 F5。 CTRL + R,然后右键单击->单击重新加载图标怎么样?
【解决方案2】:

无法做到——该行为由最终用户控制,这是正确的!

您可以做的最接近的事情是在窗口关闭或刷新时显示警告,用户可以决定注意您的警告并坚持当前页面,或者忽略您的请求并关闭/刷新。

请看这里:Alert when browser window closed accidentally

【讨论】:

  • 另外,您的页面是用 PHP 生成的这一事实也无关紧要。 PHP(一种服务器端脚本语言)从服务器生成文本输出,通常输出客户端语言,例如 HTML 和 Javascript。重要的是服务器的输出,而不是它的生成方式。我希望这会有所帮助!
  • 所以任何其他选项都可以防止我的时间从页面重新加载开始
  • 您可以将计时器信息存储在会话 cookie 中,这样如果用户刷新页面(或者甚至离开然后返回),则计时器仍然存在。但这完全是另一个问题!
【解决方案3】:

无法禁用此类浏览器功能。如果某个页面禁用了您的 F5 键,您愿意吗?我对此表示怀疑。如果您尝试在这里实现某种安全性,我建议您查看适当的服务器端验证方法。

【讨论】:

    猜你喜欢
    • 2017-06-10
    • 2012-01-11
    • 2021-08-18
    • 1970-01-01
    • 2017-03-21
    • 2020-09-05
    • 2011-05-21
    • 2018-08-22
    • 1970-01-01
    相关资源
    最近更新 更多