当Web应用程序没有焦点时,它是否可以捕获按键?

时间:2011-03-08 04:34:12

标签: focus keyboard-events

我想开发一个可以在网络浏览器中运行的语音聊天应用程序。我主要担心的是当网站没有焦点时实现一键通功能。

例如,假设用户正在玩视频游戏,他们决定按住“C”键以表示他们想要说话。我希望我的Web应用程序能够对此做出响应,即使它当时没有焦点。这可能(使用任何语言)吗?

2 个答案:

答案 0 :(得分:2)

如果没有安装某些客户端功能(例如ActiveX组件或类似功能),我无法看到任何方法 - 当窗口未处于活动状态时,浏览器不会允许JavaScript或类似代码处理按键这将是一个安全漏洞。

答案 1 :(得分:1)

这不是必然不可能,但就目前而言,它是。

键盘事件以当前焦点DOM元素为目标。目前,当浏览器最小化时,或当用户点击页面外时,所有Web浏览器都将从任何DOM元素中删除焦点。

随着对现代浏览器中Web应用程序支持的日益关注,此规则可能在理论上发生变化,但我还没有听说任何浏览器供应商在考虑它。