JavaScript 全局键盘钩子(Hook)

标签 javascript keyboard-shortcuts keyboard-events

我想知道是否可以为网络音乐播放器制作一个 Controller 。一些桌面播放器使用热键暂停/播放,所以我不需要打开应用程序并按暂停。我可以用网络播放器以某种方式做这些事情吗?我的想法是做一个全局钩子(Hook)然后做一些事情。我该怎么做?

最佳答案

Web 应用程序在沙箱中运行,因此您无法创建全局键盘 Hook 。这需要 native 代码(dll、exe 等)。您可以从 window 对象捕获关键事件,因为 javascript 事件通常会冒泡到父级,但这只会在您的页面是事件页面时发生。 一种解决方法是将键盘 Hook 创建为 native 代码,然后通过您的网络应用程序与之对话。假设您的键盘钩子(Hook) dll 可以启动网络服务器,并且您的页面可以通过该网络服务器进行通信。或者在将自定义事件发送到您的网络应用程序的浏览器插件中实现 Hook 。

关于JavaScript 全局键盘钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19045815/

相关文章:

reactjs - 如何修复 useHotkeys Hook 的返回值与 div 元素 ref prop 的类型不匹配的 React TypeScript 错误

javascript - Meteor/React : Redirect outside of component as callback of AccountsTemplates. 注销()

javascript - Google map - 保存动态 map

eclipse分割窗口切换快捷键

java - 类快捷方式的Goto方法

wpf - WPF MVVM中的键盘快捷键?

c++ - 将 SDL2 箭头/WASD 键转换为玩家移动的最佳/最可靠方法是什么?

javascript - React 中的 onKeyDown/onKeyUp 监听器

javascript - 有什么办法可以让 jsPDF 的文本居中吗?

javascript - jQuery .val() 不适用于 html block ?