Javascript 如何重新打开已运行的节点webkit窗口应用程序?
我目前有一个适用于Mac和Windows的节点webkit应用程序。关闭窗口后,应用程序将在后台继续运行,并可通过系统托盘重新打开 我想让我的用户从可执行文件打开窗口(想想桌面上.exe的快捷方式) 在Mac上,我这样做是为了允许用户从Dock打开窗口:Javascript 如何重新打开已运行的节点webkit窗口应用程序?,javascript,node-webkit,Javascript,Node Webkit,我目前有一个适用于Mac和Windows的节点webkit应用程序。关闭窗口后,应用程序将在后台继续运行,并可通过系统托盘重新打开 我想让我的用户从可执行文件打开窗口(想想桌面上.exe的快捷方式) 在Mac上,我这样做是为了允许用户从Dock打开窗口: var gui = require('nw.gui'); gui.App.on('reopen', function() { win.show(); }); 但是,根据文档,“重新打开”事件是Mac唯一的功能 在Windows上是否
var gui = require('nw.gui');
gui.App.on('reopen', function() {
win.show();
});
但是,根据文档,“重新打开”事件是Mac唯一的功能
在Windows上是否可能有相同的行为?如何操作?是的,目前还没有为windows提供重新打开功能,但另一种方法是使用
window.hide()
和托盘功能,如中所述。在我的应用程序中,我创建了用于最小化、最大化和关闭的自定义按钮,并为它们提供了以下功能:
var gui = require('nw.gui');
var window = gui.Window.get();
var isMaximised = false;
//Minimise:
minimise: function(){
window.hide();
var tray = new gui.Tray({title: 'Tray'});
var menuTray = new gui.Menu();
menuTray.append(new gui.MenuItem({ label : 'quit',
click: function(){
window.close();
}
}));
tray.menu = menuTray;
tray.on('click',function(){
tray.remove();
window.show();
tray = null;
});
}
//Maximise
maximise: function(){
if (isMaximized) {
isMaximized = false;
window.unmaximize();
} else {
isMaximized = true;
window.maximize();
}
}
//Close
close: function(){
window.hide();
var tray = new gui.Tray({title: 'Tray'});
var menuTray = new gui.Menu();
menuTray.append(new gui.MenuItem({ label : 'quit',
click: function(){
tray.remove();
window.close();
}
}));
tray.menu = menuTray;
tray.on('click',function(){
tray.remove();
window.show();
tray = null;
});
}
所以,当点击关闭按钮关闭应用程序时,它会隐藏应用程序并在托盘(Dock)中创建一个菜单项。单击dock中的图标,它会向用户显示应用程序。现在关闭应用程序的唯一方法是右键单击dock项,然后选择退出按钮关闭应用程序。我遇到了这个问题,我已使用listen to open not Recover解决了它,下面是用于桌面案例的简单代码 简单清单Json“package.Json”: 然后是一个简单的index.html文件
<html>
<head>
<script>
var gui = require('nw.gui');
var win = gui.Window.get();
</script>
</head>
<body>
<script>
//list to open and make the app show
gui.App.on('open', function() {
win.show();
alert("file re-open");
});
// prevent close and make it hide
win.on('close', function() {
win.hide();
});
</script>
<!-- forse close the app -->
<center><br><br><input type="button" value="exit app" onclick="win.close(true)"></center>
</body>
</html>
var gui=require('nw.gui');
var win=gui.Window.get();
//要打开并使应用程序显示的列表
gui.App.on('open',function()){
win.show();
警报(“文件重新打开”);
});
//防止关闭并使其隐藏
win.on('close',function(){
win.hide();
});
然后复制并通过同一目录上的节点webkit文件,如普通软件包方式,然后重命名nw.exe以重新打开.exe,然后右键单击并创建桌面快捷方式,并从文件夹中打开exe文件,然后单击“关闭”将其隐藏,然后单击桌面快捷方式,并将其重新显示为“重新打开”警惕地
<html>
<head>
<script>
var gui = require('nw.gui');
var win = gui.Window.get();
</script>
</head>
<body>
<script>
//list to open and make the app show
gui.App.on('open', function() {
win.show();
alert("file re-open");
});
// prevent close and make it hide
win.on('close', function() {
win.hide();
});
</script>
<!-- forse close the app -->
<center><br><br><input type="button" value="exit app" onclick="win.close(true)"></center>
</body>
</html>