macos - 在 JavaScript for Automation (OSA) 中使用 Application.currentApplication() 时出错

标签 macos osx-yosemite osascript javascript-automation

在 OSA 脚本中使用 Application.currentApplication() 时,从命令行运行它时会发出以下警告:

warning: failed to get scripting definition from /usr/bin/osascript; it may not be scriptable.

为什么会发生这种情况以及可以采取什么措施?

示例

app.js:

#!/usr/bin/env osascript -l JavaScript

var app = Application.currentApplication();
app.includeStandardAdditions = true;
console.log('Hello, I’m ' + app.pathTo(this));

外壳输出:

❯❯❯ ./app.js
2015-03-01 12:39:29.611 app.js[65539:6266286] warning: failed to get scripting definition from /usr/bin/osascript; it may not be scriptable.
Hello, I’m /Users/aaron/Desktop/app.js

最佳答案

JXA 发行说明如下:

<强>6。获取正在运行脚本的应用程序

Application.currentApplication()

是的,我认为它也会给我一个指向我的脚本本身的脚本对象。

我使用 JavaScript 直接在 Skript 编辑器中对其进行了测试:

var app = Application.currentApplication();
app.includeStandardAdditions = true;
console.log('Hello, I’m ' + app.pathTo(this));

“事件”选项卡给了我

app = Application("Skript-Editor")
    app.pathTo(null)
    /* Hello, I’m /Users/.../Desktop/app.scpt */

当从 osascript 运行此 app.scpt 时,函数 currentApplication() 返回 osascript,并且环境警告该应用程序可能无法编写脚本...这是一个错误吗?我不知道,osascript 是正在执行的应用程序,而且它不可编写脚本:-/

但否则:app 如何执行函数 pathTo 以及为什么将 null 传递给它?

只是我的 2 美分...迈克尔/汉堡

关于macos - 在 JavaScript for Automation (OSA) 中使用 Application.currentApplication() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28793126/

相关文章:

cocoa - 我们应该在 Mac App Store 应用程序中设计的标准屏幕分辨率是多少?

iphone - 如何更改导航栏上标签的字体及其大小 - ios8 #swift

macos - 如何在基于非文档的 Storyboard应用程序中处理 applicationShouldHandleReopen

applescript - 绕过AppleScript中的 “Can' t get window”错误

javascript - 如何在 macOS 上从 JXA/JavaScript for Automation 脚本运行内联 Applescript?

swift - 游戏套件 : NPC element is going to very high floating number coordinates and back on update

java - 已安装 JDK 和 JRE,但带有 ADT 的 Eclipse Juno 在 Mac OS Mavericks 上找不到它们

python - 停止运行脚本后是否可以自动关闭正在使用的端口?

ruby-on-rails - gem install mysql2 v '0.3.11' 无法在 Yosemite 上运行

python - 使用 applescript 使用 Python 文件中定义的路径变量更改目录