Javascript 分配事件处理程序时未定义文档

Javascript 分配事件处理程序时未定义文档,javascript,electron,Javascript,Electron,因此,我在这里尝试为我的每个标题栏按钮(最小化、最大化、关闭)绑定onclick事件。当我运行npm start时,我不断返回“文档未定义”,我不确定为什么。我对电子还很陌生,所以我对Node也没有太多的经验,所以这一切看起来有点奇怪。我见过一些人问类似的问题,但他们的解决方案似乎都不适合我 我在某个地方读到,app.on('ready')并不意味着我的DOM在处理electron时必须加载。我希望如果真的是这样的话,有人能解释一下如何处理这种情况。据我所知,在加载DOM后,我当前的代码应该只将

因此,我在这里尝试为我的每个标题栏按钮(最小化、最大化、关闭)绑定onclick事件。当我运行npm start时,我不断返回“文档未定义”,我不确定为什么。我对电子还很陌生,所以我对Node也没有太多的经验,所以这一切看起来有点奇怪。我见过一些人问类似的问题,但他们的解决方案似乎都不适合我

我在某个地方读到,app.on('ready')并不意味着我的DOM在处理electron时必须加载。我希望如果真的是这样的话,有人能解释一下如何处理这种情况。据我所知,在加载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();
  });
};

您没有在页面上下文中运行。你需要从窗口获取
文档
。你几乎相同的问题得到了答案:这是对电子过程的相同误解