是否有办法在网页上监听键盘事件,即使选项卡和/或窗口未处于活动状态(正在运行但不是前台应用程序)。由于安全问题,我会假设没有,但也许有一些方法可以使用显式权限对其进行归档?服务工作者?
基本上我尝试做的事情如下:
window.addEventListener('keydown', event => {
console.log(event.code);
});
只要选项卡处于活动状态,它就会按预期工作,但如果用户切换到另一个应用程序,它会停止接收输入(也是预期的),但我希望能够添加一个"全局"监听器。
我知道我基本上要求键盘记录器,但用例是基于网络的音频播放器,支持某些键盘上的媒体键(播放/暂停,下一首曲目等)。
答案 0 :(得分:1)
相当确定即使在2017年,由于你给出的原因,答案是“不”:这只是一个巨大的安全问题。查看Chrome 1 和Firefox 2 中页面的权限列表并未建议任何明确的权限。 (服务器工作者与它无关。)
1 如果您点击网页网址旁边的锁定/信息/危险图标,则可以看到Chrome中的所有可用权限(source)。
2 在Firefox中类似:点击图标,点击>
箭头,然后点击“更多信息”。