有没有办法检测用户是否真的远离计算机

时间:2016-04-26 20:34:29

标签: javascript jquery html5

我想检测用户是否远离计算机(即没有进行任何鼠标移动或输入任何内容)。

我想用JavaScript做到这一点。

这甚至可能吗?

在我的页面上,如果用户不在,我想发一段JavaScript代码。

我知道有模糊,焦点事件,但它们依赖于标签可见性。我不希望那种依赖。无论选项卡是打开还是关闭,我都想在我的页面上检测鼠标移动/键盘不活动。

2 个答案:

答案 0 :(得分:3)

还有许多很棒的工具可以检测浏览器的活动。 这里有几个:

https://github.com/arthurakay/ExtJS-Activity-Monitor

https://github.com/kidh0/jquery.idle

根据最后一个,你只需要jQuery和以下代码:

$(document).idle({
  onIdle: function(){
    alert('Since you waited so long, the answer to the Ultimate Question of Life, the Universe, and Everything is 42');
  },
  idle: 10000
})

你也可以使用events并将它们附加到body标签,并用本机js捕获所有事件。 (这只是一个想法)。

答案 1 :(得分:-3)

计划可能是解决这个问题的更好方法。

用户可能在他们的计算机上,但是正在与他们计算机上的另一个程序进行交互,而您的Web应用程序甚至都不知道,因为他们的鼠标,键盘等不会与浏览器窗口进行交互。这就是Web应用程序超时的原因。

通常,判断用户是否远离计算机的最佳方法是通过JavaScript设置不活动超时。

例如:

setTimeout(function(){ alert("Hello"); }, 3000);