所以我在这里要做的是为我的每个标题栏按钮(最小化,最大化,关闭)绑定onclick事件。当我运行npm start时,我会一直返回“文档未定义”,我不确定为什么。我对电子还很陌生,所以我对Node也没有太多经验,所以这一切似乎很奇怪。我见过其他一些人也提出了类似的问题,但是他们的修复似乎都对我无效。
我在某处读到app.on('ready)并不意味着在处理电子时必须加载我的DOM。我希望,如果确实如此,那么有人可以解释如何处理这种情况。据我了解,我的当前代码仅应在加载DOM之后将事件处理程序绑定到这些按钮,而仍然无法识别“文档”。
我也没有排除我的问题与我刚才描述的并不完全无关。对我来说,这一切都是很新的,而挫败感正在加剧。在chrome中,这样的操作相对来说比较温和并且易于实现,但是在这里似乎还有更多的地方。
这是我的Javascript:
const electron = require('electron')
const remote = require('electron').remote
const ipc = require('electron').ipcRenderer
const url = require('url')
const path = require('path')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
var MainWindow;
app.on('ready', function() {
MainWindow = new BrowserWindow({
width: 1024,
height: 768,
backgroundColor: '123355',
frame: false,
resizable: true,
movable: true,
show: false
})
MainWindow.on('ready-to-show', () => {
MainWindow.show()
console.log('Ready to go!')
})
MainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
}))
document.onreadystatechange = function() {
if (document.readyState == "complete") {
init();
}
};
});
function init() {
document.getElementById("minbtn").addEventListener("click", function(e) {
var window = BrowserWindow.getFocusedWindow();
window.minimize();
});
document.getElementById("maxbtn").addEventListener("click", function(e) {
var window = BrowserWindow.getFocusedWindow();
window.maximize();
});
document.getElementById("closebtn").addEventListener("click", function(e) {
var window = BrowserWindow.getFocusedWindow();
window.close();
});
};