Atom Electron - 用javascript关闭窗口

Arn*_*met 40 javascript electron

我使用Electron(原原子壳层),并希望能有一个最低限度的框架窗口使三个OSX窗口按钮(关闭,最大化,最小化)来自可见范围内的HTML页面.

我将Electron选项设置framefalse在定义BrowserWindow具有无框无框窗口时.

我以为我可以用这样的东西来处理关闭按钮:

<a btn href="#" id="close" onclick="window.top.close(); return false"></a>
Run Code Online (Sandbox Code Playgroud)

遗憾的是没有运气.知道怎么做到这一点?

Sha*_*ski 120

你必须访问您的主要过程所创建的BrowserWindow对象,并调用minimize,maximize以及close对方法.您可以使用该remote模块访问它.以下是绑定所有三个按钮的示例:

  const remote = require('electron').remote;

  document.getElementById("min-btn").addEventListener("click", function (e) {
       var window = remote.getCurrentWindow();
       window.minimize(); 
  });

  document.getElementById("max-btn").addEventListener("click", function (e) {
       var window = remote.getCurrentWindow();
       if (!window.isMaximized()) {
           window.maximize();          
       } else {
           window.unmaximize();
       }
  });

  document.getElementById("close-btn").addEventListener("click", function (e) {
       var window = remote.getCurrentWindow();
       window.close();
  }); 
Run Code Online (Sandbox Code Playgroud)

假设你的最小,最大,关闭按钮有IDS min-btn,max-btnclose-btn分别.

您可以在此处查看BrowserWindow的完整文档以及您可能需要的其他功能:http://electron.atom.io/docs/v0.28.0/api/browser-window/ .

它也可以帮助你看一下我写的关于构建一个看起来像Visual Studio的无格式窗口的教程:http://www.mylifeforthecode.com/making-the-electron-shell-as-pretty-as- the-visual-studio-shell.你的问题与一些css一起被覆盖以正确定位按钮.

  • 我没有关闭按钮上的拖动效果,因此当我点击它们时它们没有反应.感谢优秀的教程! (2认同)