Electron
(以前のatom-Shell)を使用しており、3つのOSXウィンドウボタン(閉じる、最大化、最小化)がwithinHTMLページ。
frame
をクロムレス、フレームレスウィンドウに定義するとき、Electronオプションfalse
をBrowserWindow
に設定します。
そして、私はこのような何かで閉じるボタンを処理できると思った:
<a btn href="#" id="close" onclick="window.top.close(); return false"></a>
残念ながら運がありません。これを達成する方法はありますか?
メインプロセスによって作成されたBrowserWindowオブジェクトにアクセスし、minimize
、maximize
、および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-btn
、max-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とともにカバーされています。