无法关闭电子窗口

时间:2019-12-05 10:50:09

标签: javascript html electron

因此,我正在遵循电子教程,因此我只能停留在此阶段,我无法通过关闭按钮关闭当前窗口,有人可以帮忙吗?

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;
}

我不认为我在输入时犯了错误,因为我什至复制了代码,但仍然无法正常工作,我可以创建新窗口,但无法关闭它们。

1 个答案:

答案 0 :(得分:1)

这可能是由于在主进程中未将nodeIntegration设置为true所致。由于您是从渲染器进程(add.js)调用require方法,因此您可能需要在主进程(可能是main.js)中向您的webPreferences添加nodeIntegration:true。尝试做这样的事情:

mainWindow = new BrowserWindow({
    width: 500, 
    height: 400,
    frame: false,
    webPreferences: {
      nodeIntegration: true
    }
});

如果控制台中出现任何错误,请告诉我们,它们将帮助调试问题。