我想检测用户是否远离计算机(即没有进行任何鼠标移动或输入任何内容)。
我想用JavaScript做到这一点。
这甚至可能吗?
在我的页面上,如果用户不在,我想发一段JavaScript代码。
我知道有模糊,焦点事件,但它们依赖于标签可见性。我不希望那种依赖。无论选项卡是打开还是关闭,我都想在我的页面上检测鼠标移动/键盘不活动。
答案 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);