mac版electron无法复制文字

本文转载自:https://newsn.net/

苏南大叔偶尔间发现一个问题,那就是:在mac系统下,electron上的文字是无法复制的,没右键,也不响应热键。而在win10或者centos系统上面,同样的工程,却不存在这个很奇怪的问题,都是可以正常复制文字的(通过系统热键)。所以,苏南大叔想了一下:关于electron上无法复制文字的事情,如果真的有这个需求的话,还是需要在mac上单独做个兼容。

mac版的electron程序,无法复制文字的临时解决方案

本文中,苏南大叔针对mac下的electron无法复制文字的问题,做了临时的兼容。本文的方案并不是很完美,不过作为一个临时的过度方案,还是值得借鉴的。

本文测试环境:mac

临时解决方案

这个方案就是:利用menu菜单,注册个CmdOrCtrl+CCmdOrCtrl+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)

}

mac版的electron程序,无法复制文字的临时解决方案

注意事项就是:一定要在electron中引入Menu,才能正常使用菜单功能。设置好菜单之后,就可以像win10一样,自由复制主程序体内的文字了。好happy的说~ 鼓掌!

效果图

本文的测试效果图,如下:

mac版的electron程序,无法复制文字的临时解决方案

虽然是注册了菜单,但是文字还是可以通过热键进行复制的。并不是:必须点击菜单才能执行。所以,并不需要做太多的担心。比如花+c花+v等等热键是生效的哦~

总结

本文方案,并不完美。

以上是 mac版electron无法复制文字 的全部内容, 来源链接: utcz.com/a/118857.html

回到顶部