web-dev-qa-db-ja.com

Atom Electron-javascriptでウィンドウを閉じる

Electron(以前のatom-Shell)を使用しており、3つのOSXウィンドウボタン(閉じる、最大化、最小化)がwithinHTMLページ。

frame をクロムレス、フレームレスウィンドウに定義するとき、ElectronオプションfalseBrowserWindowに設定します。

そして、私はこのような何かで閉じるボタンを処理できると思った:

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

残念ながら運がありません。これを達成する方法はありますか?

36
Arnaud Leymet

メインプロセスによって作成されたBrowserWindowオブジェクトにアクセスし、minimizemaximize、およびcloseメソッドを呼び出す必要があります。 remoteモジュールを使用してこれにアクセスできます。以下は、3つのボタンすべてをバインドする例です。

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

最小、最大、閉じるボタンのIDがmin-btnmax-btn、およびclose-btn、それぞれ。

BrowserWindowの完全なドキュメントを、必要な他の機能とともに表示できます: http://electron.atom.io/docs/v0.28.0/api/browser-window/

また、ここでVisual Studioのようなクロムレスウィンドウを作成することについて書いたチュートリアルをご覧ください。 http://www.mylifeforthecode.com/making-the-electron -ビジュアルスタジオのシェルとしてのシェル 。あなたの質問は、ボタンを適切に配置するためのいくつかのCSSとともにカバーされています。

115
Shawn Rakowski