18910140161

有没有办法监听到在浏览器控制台Console面板触发的键盘事件?

顺晟科技

2021-07-09 11:25:47

142

一般在浏览器端,我们可以通过如下方式监听到键盘事件:

window.addEventListener('keydown', e => {
  console.log(e);
})

这种方式有一个前提:鼠标焦点在当前页面上。当打开浏览器控制台Console面板,且鼠标焦点在Console面板上时,此时的键盘事件是没法通过上面的方式监听到的,即,此时我们可以在控制台任意输入内容,而不会触发keydown事件。

问题:那么,有没有一种方法或者技巧,可以监听到在浏览器控制台的键盘输入事件,甚至阻止、拦截、代理在浏览器控制台的默认输入行为。

如下图,比如我现在光标在2的后面,我按了一下键盘左键,默认情况下,光标会跑到1和2之间,但是我不想要这一默认行为,而是要能监听到和自定义左键的这一行为。image.png

可以改写 window.console 方法,实现监听所有经过 console 的数据。需要对开发环境额外处理,不然容易拦截后不好定位 console 位置,会大大降低开发效率。

我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航