解决 Electron 在 mac 上复制粘贴失效

开发时是正常的,但是用 electron-packager 或 electron-builder 打包后,就没法在应用内复制粘贴了。
原因是在 mac 环境打包时,应用的菜单会变成空的,需要我们手动加上编辑菜单以及快捷键。
网上有很多版本的解决方案:
https://www.jianshu.com/p/fcee9c1ae110
http://www.loen.wang/?p=728
https://blog.csdn.net/gentlycare/article/details/51135950

我就简单的总结一下,做一个最简版。

  if (process.platform === 'darwin') {
    const template = [
      {
        label: "Application",
        submenu: [
          { label: "Quit", accelerator: "Command+Q", click: function() { app.quit(); }}
        ]
      }, 
      {
        label: "Edit",
        submenu: [
          { label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" },
          { label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" },
        ]
      }
    ];
    Menu.setApplicationMenu(Menu.buildFromTemplate(template))
  } else {
    Menu.setApplicationMenu(null)
  }

这段代码可以加在 main.jsfunction createWindow 中,如下图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容