我正在使用 Electron 和 React 构建一些应用程序。我想保留标准的复制粘贴功能,就像在“正常”程序/浏览器中一样。
我在我的 Electron 脚本中添加了这段代码:
app.on('ready', ()=>{
BrowserWindow.addDevToolsExtension(
path.join(os.homedir(), '/AppData/Local/Google/Chrome/User Data/Default/Extensions/fmkadmapgofadopljbjfkapdkoienihi/3.6.0_0')
)
createWindow();
const ctxMenu = new Menu();
ctxMenu.append(new MenuItem({
label:'Paste',
click:()=>{console.log('Paste clicked!')}
}))
mainWindow.webContents.on('context-menu',(e,params)=>{
ctxMenu.popup(mainWindow,params.x,params.y)
})
})
Run Code Online (Sandbox Code Playgroud)
现在,我不知道如何创建粘贴功能。我看到 Electron 有一个“剪贴板”API,但是如何设置特定 HTML 元素(用户想要粘贴到其中)和 Electron 代码之间的连接?
我的应用程序是纯粹基于浏览器的应用程序,这意味着除了 Electron 的标准样板之外,没有 NodeJS 代码。
我是否需要拦截浏览器中的右键单击,然后如何与 Electron 进行通信?
任何帮助将不胜感激。
如果有人感兴趣,解决方案实际上非常简单:
您需要做的就是向菜单项添加一个“角色”:
ctxMenu.append(new MenuItem({
label:'Paste',
role:'paste',
click:()=>{console.log('Paste clicked!')}
}))
Run Code Online (Sandbox Code Playgroud)
就是这样,有效。
| 归档时间: |
|
| 查看次数: |
1776 次 |
| 最近记录: |