Javascript ElectronJS:未捕获类型错误:无法读取属性“;BrowserWindow";/&引用;getCurrentWindow";未定义的
首先,我知道这是一个只有初学者才会问的问题,但在经历了50多种不同的解决方案、卸载npm和安装Thread之后,我不得不问这个难以置信的愚蠢问题。 为什么这不起作用? 我想用ElectronJS实现一个简单的标题栏,问题是按钮(关闭/最小化/最大化)不起作用。我收到的错误如下: 最小化错误:Javascript ElectronJS:未捕获类型错误:无法读取属性“;BrowserWindow";/&引用;getCurrentWindow";未定义的,javascript,node.js,json,windows,electron,Javascript,Node.js,Json,Windows,Electron,首先,我知道这是一个只有初学者才会问的问题,但在经历了50多种不同的解决方案、卸载npm和安装Thread之后,我不得不问这个难以置信的愚蠢问题。 为什么这不起作用? 我想用ElectronJS实现一个简单的标题栏,问题是按钮(关闭/最小化/最大化)不起作用。我收到的错误如下: 最小化错误:titlebar.js:16未捕获类型错误:无法读取HTMLButtonElement.maximizeApp(titlebar.js:16)中未定义的属性“BrowserWindow” 最大化错误:titl
titlebar.js:16未捕获类型错误:无法读取HTMLButtonElement.maximizeApp(titlebar.js:16)中未定义的属性“BrowserWindow”
最大化错误:titlebar.js:16未捕获类型错误:无法读取HTMLButtonElement.maximizeApp(titlebar.js:16)中未定义的属性“BrowserWindow”
退出错误:titlebar.js:21未捕获类型错误:无法读取HTMLButtonElement.quitApp(titlebar.js:21)中未定义的属性“getCurrentWindow”
我用来控制它的JavaScript文件称为titlebar.js。就是这样:
const remote_v = require("electron").remote;
var minimize_v = document.getElementById("minimize");
var maximize_v = document.getElementById("maximize");
var quit_v = document.getElementById("quit");
minimize_v.addEventListener("click",minimizeApp);
maximize_v.addEventListener("click",maximizeApp);
quit_v.addEventListener("click",quitApp);
function minimizeApp(){
remote_v.BrowserWindow.getFocusedWindow().minimize();
}
function maximizeApp(){
remote_v.BrowserWindow.getFocusedWindow().maximize();
}
function quitApp(){
remote_v.getCurrentWindow().close();
}
由于许多其他问题的修复都在渲染过程中进行,因此这是HTML文件:
<!DOCTYPE html>
<head>
<title>Visionizer</title>
<link rel="stylesheet" href="css/editor.css">
<link rel="stylesheet" href="css/titlebar.css" >
</head>
<body>
<div class="container">
<div class="titlebar titlebarStyle">
<div class="windowTitle"> Visionizer </div>
<div class="windowControls windowControlsStyle">
<button id="minimize">-</button>
<button id="maximize">[]</button>
<button id="quit">x</button>
</div>
</div>
<div class="editorScreen">
</div>
</div>
<script src="js/titlebar.js"></script>
</body>
</html>
下面是package.json文件:
{
"dependencies": {
"electron": "^11.0.2"
},
"name": "*******",
"version": "1.0.0",
"description": "**********",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"author": "************",
"license": "MIT"
}
互联网上的一些问题被回答为项目启动错误,我听从了他们的建议,我使用纱线启动
命令启动我的项目
感谢您阅读。您的
远程
模块似乎是未定义的
您可能希望在主窗口的webPreferences
中进行设置,或者更好的是,将remote
一起废弃,并从主进程执行这些操作
远程
模块在中被禁用
{
"dependencies": {
"electron": "^11.0.2"
},
"name": "*******",
"version": "1.0.0",
"description": "**********",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"author": "************",
"license": "MIT"
}