Javascript 无焦点按键检测

Javascript 无焦点按键检测,javascript,google-chrome,internet-explorer,firefox,web,Javascript,Google Chrome,Internet Explorer,Firefox,Web,快速问题: 在一个网站上,当浏览器最小化时,有什么方法可以检测键盘键被按下?或者当你把焦点放在另一个窗口上 例如,您在Chrome上打开我的网站,然后切换到Spotify。例如,我需要检测用户是否按了他以前绑定的特定键 我可以想象,这在javascript中是不可能的,因为您没有关注浏览器,但是,有什么方法可以做到这一点吗?也许是做一个chrome扩展?用Java?银灯 我只需要检测用户按下的键,其他什么都不需要 谢谢 编辑: 我的用户已经在他们的计算机上安装了一个C#app,我能(也许)检测到

快速问题:

在一个网站上,当浏览器最小化时,有什么方法可以检测键盘键被按下?或者当你把焦点放在另一个窗口上

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

我可以想象,这在javascript中是不可能的,因为您没有关注浏览器,但是,有什么方法可以做到这一点吗?也许是做一个chrome扩展?用Java?银灯

我只需要检测用户按下的键,其他什么都不需要

谢谢

编辑:


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

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

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

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

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

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


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

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

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

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


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

我认为键盘事件将对您有所帮助。在这种方法中,您可以找到特定的键。问题是当你没有关注网站时检测事件。我认为键盘事件会帮助你。在这种方法中,你可以找到特定的键。问题是当你不关注网站的时候就发现事件。在不知道你在说什么的情况下不要指责。如果你感到被指责,请原谅,但这不是重点。只是提醒一下,你所要求的功能意味着侵犯隐私,这就是为什么它不可能的原因。不要在不知道你在说什么的情况下指责。如果你感到被指责,请原谅,但这不是重点。提醒你,你所要求的功能可能会侵犯隐私,这就是为什么不可能的原因。我在Chrome浏览器上使用pandora,我有一台MAC电脑,在MAC键盘上,你可以按下播放和暂停按钮,不知何故,在潘多拉中,它在浏览器窗口中工作…@Vidal媒体键的实现方式与常规键不同:浏览器在操作系统级别侦听它们,然后公开一个JS API(不同于按键事件)让页面侦听它们。对于OP来说有点晚了,但是媒体键实际上可能是一个很好的解决方案,因为它们已经为这种“全局侦听”行为设置好了。我想它会适用于导致我提出这个问题的用例。我在Chrome浏览器上使用pandora,我有一个MAC,在MAC键盘上你可以按下播放和暂停按钮,不知何故,在pandora中,它可以在浏览器窗口中工作…@Vidal媒体键的实现方式与普通键不同:浏览器在操作系统级别监听它们,然后公开一个JSAPI(不同于按键事件),让页面监听它们。对于OP来说有点晚了,但是媒体键实际上可能是一个很好的解决方案,因为它们已经为这种“全局侦听”行为设置好了。我认为它将适用于引导我提出这个问题的用例。