我正在使用电子
(以前是atom-shell),并希望有一个极简主义的框架窗口,以便三个OSX窗口按钮(关闭,最大化,最小化)从超文本标记语言页面内可见。
在定义浏览器窗口时,我将Electron选项
frame
设置为false
,使其具有无铬无框窗口。
我想我可以用这样的东西来处理关闭按钮:
<a btn href="#" id="close" onclick="window.top.close(); return false"></a>
不幸的是,运气不好。知道如何实现这一点吗?
用另一种技术来回答这个问题。
在NW中,您想做的事情非常简单。js,与电子相比(总是这样)。
<a href="#" onclick="nw.Window.get().close()"></a>
“最小值/最大值/还原”内容是自动设置的,除非您隐藏窗口框架。在这种情况下,下面是一个简单的回购演示:
我已经声明我的窗口:
const electron = require('electron')
const path = require('path')
const BrowserWindow = electron.remote.BrowserWindow
const notifyBtn = document.getElementById('notifyBtn')
notifyBtn.addEventListener('click',function(event){
const modalPath = path.join('file://', __dirname,'add.html')
let win = new BrowserWindow({ webPreferences: {nodeIntegration: true}, frame: false, transparent: true, alwaysOnTop:true, width: 400, height: 200 })
win.on('close',function(){win = null})
win.loadURL(modalPath)
win.show()
})
为了关闭这个:
const electron = require('electron')
const path = require('path')
const remote = electron.remote
const closeBtn = document.getElementById('closeBtn')
closeBtn.addEventListener('click', function (event) {
var window = remote.getCurrentWindow();
window.close();
})
您必须访问由主进程创建的BrowserWindow对象,并在此基础上调用最小化
、最大化
和关闭
方法。您可以使用远程
模块访问它。下面是绑定所有三个按钮的示例:
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();
});
假设min、max、关闭按钮的id分别为min-btn
、max-btn
和近距离btn
。
您可以查看BrowserWindow的完整留档以及您可能需要的其他功能:http://electron.atom.io/docs/v0.28.0/api/browser-window/.
这也可能有助于您了解我编写的一个教程,该html" target="_blank">教程介绍了如何构建一个类似Visual Studio的无铬窗口:http://www.mylifeforthecode.com/making-the-electron-shell-as-pretty-as-the-visual-studio-shell.您的问题将与一些css一起讨论,以正确定位按钮。
本文向大家介绍c# 实现子窗口关闭父窗口也关闭的方法,包括了c# 实现子窗口关闭父窗口也关闭的方法的使用技巧和注意事项,需要的朋友参考一下 其实是窗口间通讯的问题,在form1上打开form2 ,form2 关闭时关闭form1 实现方法: 在子窗口form2中声明事件: 然后在它的关闭事件中触发本事件: 在父窗口form1中(比如登陆窗口中): 然后弹出子form2窗体的地方这样写: 以上这篇c
我有以下情况 我单击父窗口中的一个链接(即添加注释链接)打开一个新窗口。我添加了一个注释,然后单击关闭按钮切换回父窗口
本文向大家介绍C#实现关闭子窗口而不释放子窗口对象的方法,包括了C#实现关闭子窗口而不释放子窗口对象的方法的使用技巧和注意事项,需要的朋友参考一下 在线扫描相机的调试过程中,需要开辟调试界面来进行位置的配置。调试结束后,一种常用的方式是将调试参数保存并在下次启动时加载。另一种简单方式是直接使用该参数运行程序。因此,在后一种情况下,需要实现的功能是:即使关闭调试窗口,其窗口对象也不释放。除非其主窗口
问题内容: 我在JPopupMenu中有一个JComboBox(以及其他组件)。事实证明,每当我打开组合框的弹出窗口(以选择一个项目)时,父级JPopupMenu都会关闭。我一直在尝试找到一种方法来覆盖此功能,但无济于事。 有没有人建议防止关闭父级JPopupMenu?谢谢! 问题答案: 这不可能直接实现,很难覆盖已知的错误,另一方面,Swing不允许同时使用两个lightwieght弹出组件 但
主要内容:1 什么是Java 关闭钩子,2 JVM什么时候关闭,3 Java 关闭钩子的语法,4 Java 关闭钩子的例子,5 Java 关闭钩子的例子:匿名类1 什么是Java 关闭钩子 当JVM正常或突然关闭时,shutdown关闭钩子可用于执行清理资源或保存状态。例如:关闭日志文件,发送一些警报或其他内容。因此,如果要在JVM关闭之前执行一些代码,请使用shutdown关闭钩子。 2 JVM什么时候关闭 以下情况,JVM将关闭: 用户在命令提示符下按ctrl + c 调用System.ex
本文向大家介绍函数window.open实现关闭所有的子窗口,包括了函数window.open实现关闭所有的子窗口的使用技巧和注意事项,需要的朋友参考一下 此文介绍了如何用window.open方法打开一个子窗口,当我们要关闭主窗口时,这时候所有的子窗口也会跟着关闭。下面有我的实现思路和代码,分享给大家。 实现思路: 1.打开子窗口函数window.open(url,winName)的第二个参数w