解决 Electron 项目在 OSX 复制和粘贴快捷键失效的问题


公司的一个项目需要开发跨平台,由于整个项目完全由我一个人开发,初次接触 Electron,开发过程中遇到了不少坑,同样的代码 Windows 下复制和粘贴没有问题,Mac 下复制和粘贴失效,在网上搜了一下都是菜单栏的复制和粘贴。

相关的文章:https://www.jianshu.com/p/65eccd2b62f5

只好自己去 Electron Api 中找,随手一搜还真搜到了一个,不知道能否解决问题。

contents 对象是 webContents,webContents 可以通过 Window.webContents 获取到。

强制把复制和粘贴绑定到对应的快捷键:

  if (process.platform === "darwin") {
    let contents = mainWindow.webContents;
    globalShortcut.register("CommandOrControl+C", () => {
      contents.copy();
    });
    globalShortcut.register("CommandOrControl+V", () => {
      contents.paste();
    });
  }

因为 Windows 平台下可以正常使用,所以我只针对了 OSX 执行此操作。

运行项目后测试这个方法确实可行。
项目截图


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM