如何通过 'osascript' 在 JavaScript 中启动应用程序?

How do you start an application in JavaScript via 'osascript'?

如何通过 osascript 在 JavaScript 中启动应用程序?

我一直在研究一些示例,这些示例可以在 Internet 上找到并且我可以让它们工作,但是如果尚未启动以自动化为目标的应用程序,我会收到以下错误:

2015-04-02 10:43:34.749 js.sh[3434:57612] warning: failed to get scripting definition from /Applications/Safari.app; it may not be scriptable.

如果 Safari 已经打开,下面的例子就很有用了。

#!/usr/bin/osascript -l JavaScript

var Safari = new Application("/Applications/Safari.app");

Safari.activate;

window = Safari.windows[0];

tab = Safari.Tab({url:"http://www.dr.dk"});
window.tabs.push(tab);
window.currentTab = tab;

我以为 activate 方法是那个,但我似乎忽略了一些东西。

您的脚本在我的机器上运行良好,并且 Safari 启动了。要将应用程序置于最前面,您需要更改此行:

Safari.activate;

对此:

Safari.activate();

您必须将激活命令作为函数调用(使用括号)。