鍍金池/ 問答/HTML/ electron 設(shè)置快捷鍵 CmdOrCtrl 在 windows 下無效。。

electron 設(shè)置快捷鍵 CmdOrCtrl 在 windows 下無效。。。

小弟我寫了個(gè)小小 demo 想學(xué)習(xí)一下 electron,有一個(gè)功能需要在 input 中復(fù)制粘貼,我查找資料后知道了可以通過設(shè)置菜單,然后綁定快捷的方法來使用 cmd+c,cmd+v(我開發(fā)是在 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 上運(yùn)行是可以使用復(fù)制粘貼等快捷鍵的,但是我給 windows 打包后在 windows 下運(yùn)行,快捷鍵就毫無反應(yīng),我看人家官網(wǎng)教程和別人的博客上都是“CmdOrCtrl”,就好了呀,我CmdOrCtrl也試過了 windows 下沒用,不縮寫用CommandOrControl也試過了也是 windows 下沒用,Mac 沒問題,,,請問各位大哥這個(gè)可能是什么導(dǎo)致的?

回答
編輯回答
終相守

我之前開發(fā)的時(shí)候,Window 上默認(rèn)支持"復(fù)制粘貼等快捷鍵"的,而MacOS 不支持,所以需要對(duì) MacOS 進(jìn)行顯示添加。

所以當(dāng)時(shí)就對(duì)系統(tǒng)進(jìn)行了判斷,https://github.com/o2team/xce...

現(xiàn)在我發(fā)現(xiàn) Electron 更新比較多。你可以看看官網(wǎng)下的 https://electronjs.org/ 的一個(gè)鏈接,關(guān)于主要的 API 案例和代碼實(shí)現(xiàn),你可以下載下來看看,https://electron-api-demos.gi...

另外,也可以開啟“開發(fā)者模式”,看看打包后時(shí)候有報(bào)錯(cuò)的情況出現(xiàn)。

感謝邀請。

2017年9月9日 07:19