Node webkit:如何使用MAC中的系统默认浏览器打开外部链接

时间:2015-01-13 13:17:42

标签: javascript node.js macos node-webkit

在Windows中我使用这些行

gui = require('nw.gui');

//To open a website externally
gui.Shell.openExternal(URL);

//To execute command line
gui.Shell.openItem(commandString);

它的工作正常。同一条代码在MAC中不起作用。我在这里失踪了什么?我不想在其中创建任何文件和编写命令(批处理文件,通常称为shell脚本)。有没有办法不创建批处理文件并在MAC中运行这些命令?

1 个答案:

答案 0 :(得分:5)

您能提供正在测试的完整代码部分吗?

以下代码段在OSX上运行正常(使用nw.js 0.12.0测试):

var gui = require('nw.gui');
gui.Shell.openExternal('http://www.google.com');

此外,gui.Shell.openItem命令不用于执行命令(参见Shell documentation)。

您应该使用nodejs附带的child_process模块:

var exec = require('child_process').exec;
exec(commandString, function (error, stdout, stderr)
{
    console.log('stdout:' + stdout);
    console.log('stderr:' + stderr);
});