electron 设置快捷键 CmdOrCtrl 在 windows 下无效。。。

HongHaiyang
  • 104

小弟我写了个小小 demo 想学习一下 electron,有一个功能需要在 input 中复制粘贴,我查找资料后知道了可以通过设置菜单,然后绑定快捷的方法来使用 cmd+c,cmd+v(我开发是在 Mac 上),这是我的代码:

import { app, BrowserWindow, Menu } from 'electron'
...
var template = [{
  label: "Application",
  submenu: [
      { label: "About Application", selector: "orderFrontStandardAboutPanel:" },
      { type: "separator" },
      { label: "Quit", accelerator: "Command+Q", click: function() { app.quit(); }}
  ]}, {
  label: "Edit",
  submenu: [
      { label: "Undo", accelerator: "CommandOrControl+Z", selector: "undo:" },
      { label: "Redo", accelerator: "Shift+CommandOrControl+Z", selector: "redo:" },
      { type: "separator" },
      { label: "Cut", accelerator: "CommandOrControl+X", selector: "cut:" },
      { label: "Copy", accelerator: "CommandOrControl+C", selector: "copy:" },
      { label: "Paste", accelerator: "CommandOrControl+V", selector: "paste:" },
      { label: "Select All", accelerator: "CommandOrControl+A", selector: "selectAll:" }
  ]}
];

...
Menu.setApplicationMenu(Menu.buildFromTemplate(template));
...

用 electron-packager 打包后,在 Mac 上运行是可以使用复制粘贴等快捷键的,但是我给 windows 打包后在 windows 下运行,快捷键就毫无反应,我看人家官网教程和别人的博客上都是“CmdOrCtrl”,就好了呀,我CmdOrCtrl也试过了 windows 下没用,不缩写用CommandOrControl也试过了也是 windows 下没用,Mac 没问题,,,请问各位大哥这个可能是什么导致的?

回复
阅读 5.1k
1 个回答
✓ 已被采纳

我之前开发的时候,Window 上默认支持"复制粘贴等快捷键"的,而MacOS 不支持,所以需要对 MacOS 进行显示添加。

所以当时就对系统进行了判断,https://github.com/o2team/xce...

现在我发现 Electron 更新比较多。你可以看看官网下的 https://electronjs.org/ 的一个链接,关于主要的 API 案例和代码实现,你可以下载下来看看,https://electron-api-demos.gi...

另外,也可以开启“开发者模式”,看看打包后时候有报错的情况出现。

感谢邀请。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏