【问题标题】:PHP - window.onbeforeunload and auto logout conflict [closed]PHP - window.onbeforeunload 和自动注销冲突 [关闭]
【发布时间】:2015-02-16 06:20:31
【问题描述】:

我在模块中添加了自动注销功能,它会提示用户退出并弹出窗口,如果用户在几秒钟内没有响应,它将自动从系统注销并重定向到登录屏幕。

到目前为止一切正常。

现在,在我添加 window.onbeforeunload 后出现问题,它要求用户在用户离开屏幕之前存储未保存的更改。因此,假设用户在进行了一些更改后不在办公桌前,并且在发生超时之间,它将自动从即使已经为此添加了功能,系统和用户也没有机会保存更改。

有什么建议可以克服这个问题吗?

谢谢!!

【问题讨论】:

  • 除非保存或放弃他们的更改,否则不要执行注销操作。
  • 不能向后端添加与超时相关的功能。这简直是​​不可能的。请向我们展示您的代码。
  • @ Rikesh Logout 功能是在特定时间段添加的,它应该根据要求在特定时间执行,并且与 onbeforeunload 事件相比,您无法停止它,因为两者都是两个单独的活动,其中in logout 是在添加的时间段内从系统自动执行的,onbeforeunload 是 js 事件,它将在尝试离开屏幕时提示。
  • 将未保存的更改存储为草稿。在用户再次登录后展示它们。
  • 感谢@Gerald Schneider

标签: javascript php jquery codeigniter session


【解决方案1】:

我建议您使用浏览器的变量。操作的优先级可以由您决定。 您可以签入的脚本 如果用户没有主动注销并设置浏览器的变量。在 onbeforeunload 事件中,您可以检查变量。 如果已设置,则您不必提示用户并继续注销操作。 否则提示用户先保存他/她的更改。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2012-10-30
    • 2013-01-10
    • 2014-11-08
    • 2014-10-21
    • 2011-09-12
    • 2015-10-02
    • 1970-01-01
    • 2014-02-25
    相关资源
    最近更新 更多