Javascript 电子,网页,反应。使用剪贴板时';财政司司长';没有定义
所以我通过Javascript 电子,网页,反应。使用剪贴板时';财政司司长';没有定义,javascript,reactjs,electron,clipboard,Javascript,Reactjs,Electron,Clipboard,所以我通过export electron\u START\u URL运行electron=http://localhost:8080 &&electron.在react/webpack/electron桌面应用程序中。我试图在粘贴组合键(ctrl+v)时从系统剪贴板读取 所以electron可以工作,我的菜单定义中没有启用复制粘贴快捷方式(我不打算使用菜单) 我正在尝试读取react应用程序中一个组件的按键组合…类似于: import React, { useState, useCallback
export electron\u START\u URL运行electron=http://localhost:8080 &&electron.
在react/webpack/electron桌面应用程序中。我试图在粘贴组合键(ctrl+v)时从系统剪贴板读取
所以electron可以工作,我的菜单定义中没有启用复制粘贴快捷方式(我不打算使用菜单)
我正在尝试读取react应用程序中一个组件的按键组合…类似于:
import React, { useState, useCallback, useEffect, useRef } from "react";
import {clipboard} from 'electron';
const Thing = (props) {
const keyboardHandler = (e) => {
if (e.keyCode === 86 && e.ctrlKey) {
let pasted = clipboard.readText();
console.log(pasted);
}
}
useEffect(() => {
window.addEventListener('keydown', keyboardHandler);
// Remove event listeners on cleanup
return () => {
window.removeEventListener('keydown', keyboardHandler);
};
}, []);
return <SomeComp onKeyDown={ (e) => keyBoardHandler(e)}/>
}
export default Thing;
编辑:这是我的main.js(electron)代码:
将“窗口”添加到require节点函数中,如下所示:
window.require('electron');
这对我很有效,希望您也能这样做。将“窗口”添加到require节点函数中,如下所示:
window.require('electron');
这对我很有用,希望你也这样。我想你在创建BrowserWindow时禁用了节点集成。我没有禁用它,它似乎是默认启用的。我已经更新了帖子,显示了我的main.js代码。你可以尝试显式启用nodeIntegration吗?我将其更改为
mainWindow=newbrowserwindow({width:700,height:210,frame:true,webPreferences:{nodeIntegration:true})代码>它仍然为commonjs提供相同的errorChange导入语法。Try:const{clipboard}=require(“electron”);我认为您在创建BrowserWindow时禁用了节点集成。我没有禁用它,它似乎是默认启用的。我已经更新了帖子,显示了我的main.js代码。你可以尝试显式启用nodeIntegration吗?我将其更改为mainWindow=newbrowserwindow({width:700,height:210,frame:true,webPreferences:{nodeIntegration:true})代码>它仍然为commonjs提供相同的errorChange导入语法。Try:const{clipboard}=require(“electron”);
window.require('electron');