使用jquery监视用户的活动

时间:2012-03-03 09:29:49

标签: php jquery

我正在构建一个考试应用程序,我需要用户留在应用程序上并回答一些问题。我需要监控他们何时没有这样做,比如打开一个新选项卡或浏览器来搜索答案。此外,当他们最小化应用程序窗口等。所以有任何方法在jquery中执行此操作。请不要对这个问题进行投票,因为我在本网站上搜索了类似的问题以获得答案。

当鼠标没有悬停在文档的body元素上时会发生什么事情。?

4 个答案:

答案 0 :(得分:1)

这在设计上是不可能的 - 如果JavaScript可以在沙盒之外填充这样的东西,那将是一个巨大的安全问题。

您将需要对客户端计算机进行完全控制以强制执行此类操作,使用可占用全屏的客户端应用程序,锁定任务切换等等....这是很多编程工作,可能会有专门为每个操作系统完成,永远不会100%可靠。此外,即使是100%的解决方案也可以通过在附近安装第二台计算机来避免这种情况。

您在网站上下文中可以做的最好的事情是实现一些安全措施,例如时间限制,监控页面内的键盘活动并确保它是恒定的等等。这里适当的是由您的实际情况决定,考虑添加更多相关信息。

答案 1 :(得分:1)

对于它的价值,我不打算检查这个跨浏览器..把它交给你,但是某些窗口事件可能有帮助。

试试这些。使用Firefox,如果鼠标在文档中处于活动状态以提供窗口焦点,它们将触发更改浏览器选项卡并最小化窗口。您可以深入了解其他可用的窗口事件,看看您是否能够提出足以使其适用于您,或者至少您将扩大您的尽职调查

$(window).blur(function(){
  console.log('blur')
}).focus(function(){
  console.log('focus')
});

更新您的代码发现......有点有趣

答案 2 :(得分:0)

拍摄回答:

不,没有办法这样做!

答案很长:

您不能认为用户已将浏览器最小化以搜索答案。他的电脑中可能会出现另一件让他这样做的事情。

对用户的计算机进行这样的控制可以使用户的生活变得地狱。开发人员正在努力让用户的生活更轻松而不会感到不舒服。

正如你知道答案的那样,你不能这样做: - )

答案 3 :(得分:0)

我不相信jQuery,因为你没有足够的控制浏览器用JS。

你可以做的是使用一些设计用于在Kiosk中运行的软件/浏览器,因为它们有很多相同的要求,但可能不会立即显而易见。