我是一个后端开发人员,他有一个小项目可以修复它。
因此,老板给了我一个在触摸设备上运行的 Electron 项目。
我知道,如果我使用document
对象,我可以监听Javascript中的任何关键事件,但是在 Electron 中,docuemnt cannot be found
表示它不起作用。
因此,当我或其他支持人员按下F12按钮时,将其实现,然后将开发工具呈现在 Electron 应用程序中。
mainWindow = new BrowserWindow({
'web-preferences': {'web-security': false}
});
mainWindow.onkeydown = function (e) {
console.log("Key down");
if (e.which === 123) {
console.log("Key is F12");
mainWindow.webContents.openDevTools();
}
};
但是这段代码对我不起作用。我不知道如何才能听到F12按钮被按下的声音。
不幸的是,我无法向可以显示devtools的UI渲染按钮。因为顾客一定不要按它。
有时,我需要在设备上的devtools中查看“实时控制台”选项卡。
最佳答案
有一个known issue in Electron(最近被标记为wontfix
)阻止了使用传统JS方法捕获键事件的常用方法。
还有一个名为electron-localshortcut的小型库,通过在窗口处于 Activity 状态时劫持Electron全局快捷方式API来避免此问题。
在main.js中这样使用:
const electronLocalshortcut = require('electron-localshortcut');
electronLocalshortcut.register(mainWindow, 'F12', () => {
// Open DevTools
});
关于javascript - Electron 不监听按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40763427/