mac版的electron程序,无法复制文字的临时解决方案
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
苏南大叔偶尔间发现一个问题,那就是:在mac
系统下,electron
上的文字是无法复制的,没右键,也不响应热键。而在win10
或者centos
系统上面,同样的工程,却不存在这个很奇怪的问题,都是可以正常复制文字的(通过系统热键)。所以,苏南大叔想了一下:关于electron
上无法复制文字的事情,如果真的有这个需求的话,还是需要在mac
上单独做个兼容。
本文中,苏南大叔针对mac
下的electron
无法复制文字的问题,做了临时的兼容。本文的方案并不是很完美,不过作为一个临时的过度方案,还是值得借鉴的。
本文测试环境:mac
+electron@4.0.1
。
临时解决方案
这个方案就是:利用menu
菜单,注册个CmdOrCtrl+C
和CmdOrCtrl+V
的快捷键。本文方案并不完美,仅供参考。代码如下:
main.js
:
const {Menu} = require('electron')
//...
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)
}
注意事项就是:一定要在electron
中引入Menu
,才能正常使用菜单功能。设置好菜单之后,就可以像win10
一样,自由复制主程序体内的文字了。好happy的说~ 鼓掌!
效果图
本文的测试效果图,如下:
虽然是注册了菜单,但是文字还是可以通过热键进行复制的。并不是:必须点击菜单才能执行。所以,并不需要做太多的担心。比如花+c
和花+v
等等热键是生效的哦~
总结
本文方案,并不完美。主要是因为苏南大叔想水一篇文章而已。哈哈哈~ 想知道更加完美的解决方案么?可以继续关注苏南大叔的后续electron
相关经验文字:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。