通常在mac上,当我关闭窗口时它不会退出应用程序但是在使用node webkit时它会退出应用程序。
有没有人知道解决方法所以当我点击“x”时它只关闭窗口但不关闭应用程序?
提前感谢您的帮助。
答案 0 :(得分:3)
这适用于MAC:
var gui = require('nw.gui');
var window = gui.Window.get();
gui.App.on('reopen', function(){
window.show();
})
window.on('close', function(){
window.hide();
});
使用上面的代码时,如果用户点击关闭按钮,它会隐藏窗口而不是终止应用程序
当用户点击Dock中的app图标时,会触发GUI reopen
事件,该事件将显示隐藏的窗口
注意:重新打开当前是MAC特定功能
NodeWebkit App Features
答案 1 :(得分:3)
不是一个完整的解决方案,所有学分都归功于Abhishek的答案。
我已对其进行了改进,以允许用户关闭应用,而不仅仅是退出窗口。
var hidden = false;
gui.App.on('reopen', function(){
hidden = false;
win.show();
})
win.on('close', function(){
if (hidden == true) {
gui.App.quit();
} else {
win.hide();
hidden = true;
}
});
首次点击红色按钮时,该窗口会关闭,但仍会在停靠栏中运行,然后右键单击图标并单击退出,应用程序将完全关闭。
答案 2 :(得分:2)
如果"退出&#34>,窗口会将参数传递给回调函数。单击,从菜单栏或停靠点(也在命令+ Q)。 我使用此代码并按预期工作:
var gui = require('nw.gui'),
app = gui.App,
win = gui.Window.get();
win.on('close', function (action) {
'quit' === action ?
app.quit() :
win.hide();
});
app.on('reopen', function(){
win.show();
});
答案 3 :(得分:0)
是的,有办法。我称之为 command + Q 。 另一种方法是 command + control + power