解決 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