【问题标题】:Handle any user interaction with javascript [duplicate]处理与javascript的任何用户交互[重复]
【发布时间】:2012-12-21 17:10:02
【问题描述】:

可能重复:
Detecting idle time in JavaScript elegantly

在我正在开发的 Web 应用程序中,在应用程序的每个页面上,当在设定的时间内没有任何反应时,页面应该会自动更改。我认为设置window.location 会为后面的部分做。

但是,当谈到检测到什么都没有发生时,我有点卡住了。我认为将所有键盘和鼠标事件绑定到单个处理程序可以做到这一点,但我想知道是否有更好的方法。以前有人做过吗?

【问题讨论】:

标签: javascript jquery jquery-events user-inactivity


【解决方案1】:

Detecting idle time in JavaScript elegantly 似乎错过了窗口上的 blurfocus 事件。基本方法如您所建议的那样,但我会仔细查看您正在绑定哪些事件。

【讨论】:

  • 感谢您注意到这一点,但这些事件在我的情况下是无关紧要的,因为应用程序永远不会失去焦点。当然,你不可能知道。
【解决方案2】:

不是在网络服务器上运行您的网站吗? Web 服务器(例如 Tomcat)可以检查会话是否超时。

在 tomcat 的 web.xml 中,您可以添加或更改设置:

<session-config>
    <session-timeout>60</session-timeout>
 </session-config>

如果会话超时,您可以重定向到另一个页面。

这是一个例子:

https://stackoverflow.com/a/1027592/1916258

【讨论】:

  • 该项目是用Java(Servlet 和JSP)编写并部署在Tomcat 上的。所以假设我们有这个会话超时,你怎么能检测到它并采取相应的行动呢?不过我必须警告你,我不会喜欢这个解决方案,因为它依赖于服务器。
  • 我在回答中添加了一个示例(链接到另一个问题)。
猜你喜欢
  • 1970-01-01
  • 2014-08-30
  • 1970-01-01
  • 1970-01-01
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
  • 2021-12-25
相关资源
最近更新 更多