按键检测无焦点

时间:2016-05-22 16:56:06

标签: javascript google-chrome internet-explorer firefox web

快速提问:

在网站上,有什么方法可以检测在浏览器最小化时何时按下键盘键?或者当你专注于另一个窗口时?

例如,您在Chrome上打开我的网站,然后切换到Spotify,例如,我需要检测用户是否按下了之前绑定的特定密钥。

我可以想象使用javascript是不可能的,因为你没有关注浏览器,但是,有什么办法吗?制作镀铬扩展可能吗?用Java? Silverlight的?

我只需要检测用户按下了键,没有别的。

谢谢!

编辑:

我的用户已经在他们的计算机上安装了一个C#应用程序,我是否(可能)检测到应用程序中的按键并以任何方式调用浏览器(已经打开)?

2 个答案:

答案 0 :(得分:1)

这是不可能的,尽管它应该是。

为什么不可能的动机是完全合理的。毫无疑问,不受信任的网页不应该能够监控键盘活动,因为这会允许恶意网页监控机密活动。

但是,也有完全合法的用例可以做到这一点。一个很好的例子是语音通信Web应用程序。对于这样的应用来说,检测何时按下特定键是有用的,以提供按键通话和其他键绑定。但目前这还不可行。实际上,Discord Web应用程序必须要求用户下载应用程序的桌面版本才能有效地使用即按即说。

合理的解决方案是允许Web应用程序请求用户允许在失焦时监视所有或某些键盘活动。这就是位置,相机和其他敏感权限的工作方式。默认情况下,网页没有权限,因此可以确保不受信任的网页的安全性。这将是Web的重要改进,因为它旨在扩展其与桌面和移动环境的相关性。

答案 1 :(得分:0)

基本上你想要一个键盘记录器......不,幸运的是,这是不可能的。