公司的一个项目需要开发跨平台,由于整个项目完全由我一个人开发,初次接触 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 执行此操作。

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

Electron 项目在 Mac 下复制和粘贴快捷键失效的解决办法的更多相关文章

  1. Mac下phpstorm 浏览器出现 502 bad gateway 解决办法

    问题: 在网上搜了好久,都没有合适的解决办法,于是决定分享下自己鼓捣好久解决了的办法,希望能帮到大家. 出现上述情况,一般在phpstorm里都会出现这个提示 我们只需要点击蓝色的进去,或者点phps ...

  2. mac下无法远程桌面连接win10的解决办法

    原文链接:http://www.hangge.com/blog/cache/detail_899.html 原来在Mac OSX下远程win7系统很正常,后来把windows系统升级成了win10,再 ...

  3. mac下phpize编译提示Cannot find autoconf解决办法

    mac下phpize编译如下报错: /usr/bin/phpizeConfiguring for:PHP Api Version: 20121113Zend Module Api No: 201212 ...

  4. Mac下使用charles遇到的问题以及解决办法

    最近使用上了Charles,因为之前一直使用Fidder,所以还是碰到了一些问题,这里记录一下. 如何安装破解版 打开charles后,发现访问但是抓不到包 抓取HTTPS的接口,看response是 ...

  5. Mac下使用Matplotlib无法显示中文的解决办法

    参考:matplotlib图例中文乱码? - 知乎用户的回答 - 知乎 https://www.zhihu.com/question/25404709/answer/309784195 1.下载字体安 ...

  6. Mac下su命令提示su:Sorry的解决办法

    用 sudo su - 输入密码,获得root权限

  7. Mac下Android SDK更新不了的解决办法

    在hosts文件中加入: 203.208.46.146   dl.google.com 203.208.46.146 dl-ssl.google.com

  8. Mac下复制粘贴的快捷键是什么?随记

    刚从window换成Mac OS系统的用户对于一些常用的快捷键一定非常的不习惯,“mac复制粘贴快捷键是什么?”这一简单的问题相信很多刚刚从Windows平台转到Mac平台的用户会问到的问题,因为Ma ...

  9. Oracle SQL Developer 编辑区不能删除,后退,空格,复制粘贴等功能都失效的解决办法

    Oracle SQL Developer 编辑区不能删除,后退,空格,复制粘贴等功能都失效的解决办法 解决: 打开菜单并选择Tools-prefrence-Accelerators-Load Pres ...

随机推荐

  1. jumpserver win终端无法添加

    今天遇到一个问题是,guacd,tomcat部署完成以后jumpserver终端管理页里面还是只有coco的终端而没有guacd的终端

  2. 1.6分布式通讯协议-WebService

    RPC 包含的要素(webservice) 协议层:tcp/ip 应用层: http协议 SOAP: http+xml 分布式通信框架-webservice分析 什么是webservice webse ...

  3. python之路(9)反射、包装类、动态模块导入

    目录 反射 利用继承二次包装标准类 利用授权二次包装标准类 动态模块导入 反射 python提供自省的四个方法: hasattr(object,name)  判断object中有没有有个name字符串 ...

  4. mysql 设置skip_name_resolve参数 日志 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode

    [环境介绍]  系统环境:Red Hat Enterprise Linux 7 + 5.7.25-enterprise-commercial-advanced-log MySQL Enterprise ...

  5. JAVA课设个人博客--多源数据教学管理系统

    JAVA课设个人博客--多源数据教学管理系统 1.团队课程设计博客链接 https://www.cnblogs.com/hq9-/p/10278470.html 2. 个人负责模块或任务说明 主要模块 ...

  6. vue 点击展开显示更多 点击收起部分隐藏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Unknown system variable 'query_cache_size'] with root cause

    Unknown system variable 'query_cache_size'] with root cause 出现这个错误是因为mysql连接数据库的版本不对, mysql-connecto ...

  8. flex弹性盒子的使用

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! CSS3引入了一种新的布局模型—— flex 布局.flex是 flexible box 的缩写,一般称之 ...

  9. Asp.net Core导出Excel

    本篇文章是在MVC设计模式下,基于windows系统的Excel导出 1.前台的实现不用我多说了吧,加一个a标签链接地址跳到它所调用的方法里面,可以根据当前页面的查询条件去传值,从而查询出你想要的数据 ...

  10. 本地Git与Github建立关联

    准备 本地与Github建立连接,需要用到SSH公钥.一般安装完Git,会在用户目录中生成一个 .ssh的文件夹 如果没有此文件夹,可以通过命令创建 $ ssh-keygen -t rsa -C &q ...