javascript - 在浏览器窗口未处于事件状态的情况下监听 keydown 事件

标签 javascript firefox-addon

我有一个 Firefox 插件,可以在浏览器窗口处于事件状态时监听 keydown 事件,但我也想在没有浏览器窗口处于事件状态时接收事件。我目前正在向所有浏览器窗口添加事件监听器,并尝试创建 Firefox 热键,但它与浏览器窗口方法具有相同的有限范围。

我知道我可以使用 Windows API 来完成此操作,所以也许我唯一的选择就是创建一个插件?

最佳答案

这不可能直接实现。如果浏览器没有从窗口系统接收到事件,则浏览器无法将事件传递给扩展程序。据推测,您可以创建一个特定于操作系统/窗口系统的插件,该插件允许利用窗口系统的 API 以通常接收此类事件(假设窗口系统 API 允许这样做)。

您似乎想要接收窗口系统中发生的事件,这些事件不针对任何浏览器窗口。窗口系统通常不会将 UI 事件传递给不活动或未以某种方式操作的窗口。因此,浏览器不知道此类事件已发生。

一般来说,这可能会违反用户对浏览器和窗口系统如何运行的期望。您应该认真考虑您的附加组件是否适合执行此操作。这样做的一个可能的原因是有一个附加组件,它添加一个系统级热键,将最新的窗口/选项卡带到窗口系统的前面。在这种情况下,如果它明确是附加组件的功能,那么这样做是合理的。至少,您可能会与其他窗口系统级热键发生冲突,这些热键要么是默认的,要么是由用户设置的。应注意至少允许用户更改为您正在创建的任何功能分配的热键。

关于javascript - 在浏览器窗口未处于事件状态的情况下监听 keydown 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26442146/

相关文章:

javascript - 如何选择(突出显示)输入文本框中的文本

javascript - Wookmark Jquery UI 不工作

javascript - jQuery 在过滤 AJAX 响应时返回未定义

javascript - 如何将对象数组中的字段值复制到另一个数组中

javascript - Pale Moon 中的简单 firefox 扩展 "not compatible"错误

javascript - 允许在溢出的较小父 Div 内动态调整大小的子 Div :auto to be larger than their parent

javascript - 如何从浏览器 onClick 事件中触发击键?

javascript - 已禁用的 Firefox 附加组件 ActionButton 未灰显

javascript - 从当前选项卡上下文打开一个新选项卡(何时关闭弹出窗口)?

javascript - 从内容脚本 onbeforeunload 向附加组件发出消息?