因此,我正在遵循电子教程,因此我只能停留在此阶段,我无法通过关闭按钮关闭当前窗口,有人可以帮忙吗?
JavaScript代码:
const electron = require('electron')
const path = require('path')
const remote = electron.remote
const closeBtn = document.getElementById('closeBtn')
closeBtn.addEventListener('click', function (event) {
var window = remote.getCurrentWindow();
window.close();
})
HTML代码:
<body>
<p class="notify">Notify me when BTC reaches..</p>
<div class="row2">
<div>
<input id="notifyVal" placeholder="USD">
</div>
<button id="updateBtn">Update</button>
</div>
<a id="closeBtn">Close Window</a><br>
</div>
<script src="add.js"></script>
</body>
Css代码:
body {
background:#DFDFDF;
color:#000;
overflow:hidden;
}
p.notify {
background:#C3C3C3;
margin:0;
padding: 20px;
text-transform:uppercase;
-webkit-app-region: drag;
}
.row2 {
width:100%;
display: grid;
grid-template-columns: auto auto;
padding:20px;
}
input {
padding:12px;
}
#closeBtn {
cursor:pointer;
padding:20px;
text-decoration:underline;
}
我不认为我在输入时犯了错误,因为我什至复制了代码,但仍然无法正常工作,我可以创建新窗口,但无法关闭它们。
答案 0 :(得分:1)
这可能是由于在主进程中未将nodeIntegration设置为true所致。由于您是从渲染器进程(add.js)调用require方法,因此您可能需要在主进程(可能是main.js)中向您的webPreferences添加nodeIntegration:true。尝试做这样的事情:
mainWindow = new BrowserWindow({
width: 500,
height: 400,
frame: false,
webPreferences: {
nodeIntegration: true
}
});
如果控制台中出现任何错误,请告诉我们,它们将帮助调试问题。