Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 单击“关闭窗口但不关闭应用程序”;x";在带有节点webkit的Mac OS上_Macos_Webkit_Node Webkit - Fatal编程技术网

Macos 单击“关闭窗口但不关闭应用程序”;x";在带有节点webkit的Mac OS上

Macos 单击“关闭窗口但不关闭应用程序”;x";在带有节点webkit的Mac OS上,macos,webkit,node-webkit,Macos,Webkit,Node Webkit,通常在mac上,当我关闭窗口时,它不会退出应用程序,但当使用node webkit时,它会退出应用程序 有人知道解决方法吗?当我点击“x”时,它只关闭窗口,而不关闭应用程序 提前感谢你的帮助。 这对我在MAC电脑中很有用: var gui = require('nw.gui'); var window = gui.Window.get(); gui.App.on('reopen', function(){ window.show(); }) window.on('close', fu

通常在mac上,当我关闭窗口时,它不会退出应用程序,但当使用node webkit时,它会退出应用程序

有人知道解决方法吗?当我点击“x”时,它只关闭窗口,而不关闭应用程序

提前感谢你的帮助。

这对我在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单击应用程序图标时,会触发GUI
重新打开
事件,该事件将显示隐藏窗口。
注意:重新打开当前是MAC特有的功能。

中提供的更多细节不是一个完整的解决方案,所有的功劳都归于阿披舍克的回答

我对它进行了改进,允许用户关闭应用程序,而不仅仅是退出窗口

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

使用此技巧,当您第一次单击红色按钮时,窗口将关闭,但仍在dock中运行,然后右键单击图标并单击退出,应用程序将完全关闭。

如果从菜单栏或dock(也是在command+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();
});

是的,有办法。我称之为command+Q。
另一种方法是命令+控制+电源

#仅供参考:仍然没有找到解决方案…新的答案不是一个完整的解决方案,因此奖金可能会在没有winnerAn改进的情况下到期,但这样用户就永远无法关闭应用程序,也无法从menu@FezVrasta我认为用户可以通过右键单击图标并选择退出来关闭/退出应用程序,包括从dock强制退出应用程序。如果在这种情况下,应用程序不是通过右键单击从dock为您关闭的,那么您可以在@FezVrasta提到的关闭函数中添加
gui.app.quit()