OS X Javascript 自动化 (JXA) 进度条

OS X Javascript Automation (JXA) Progress Bar

在 Applescript 小程序中,进度可以这样显示:

set progress description to "A simple progress indicator"
set progress additional description to "Preparing…"
set progress total steps to -1

delay 5

set progress total steps to 100
repeat with i from 1 to 100
    try
        set progress additional description to "I am on step " & i
        set progress completed steps to i
        delay 0.2
    on error thisErr
        display alert thisErr
        exit repeat
    end try
end repeat

您将如何访问 Javascript 中的 progress descriptionprogress additional descriptionprogress total steps for Automation (JXA)?

见本页Progress --> https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/OSX10-10.html

使用 Progress 对象的脚本示例:

Progress.description =  "A simple progress indicator"
Progress.additionalDescription = "Preparing…"
delay(5)
Progress.totalUnitCount = 100;

for (var i = 1; i < 101; i++) {
    Progress.additionalDescription = "I am on step " + i
    Progress.completedUnitCount = i
    delay(0.1)
}

IMO,Yosemite 提供的 so-called "Progress Bar" 是个笑话。它没有显示大多数人所期望的:显示进度的小 window。

Shane Stanley 编写了免费的 ASObjC Runner app 来提供这个,以及更多。

在这里查看真实的进度条: Demo of real Progress Bar using ASObjC Runner app

这是用 AppleScript 编写的,但转换为 JXA 应该不难。

编辑:我已将 AppleScript 代码转换为 JXA。你可以在这里得到它:

Demo of a Real Progress Bar for JXA using ASObjC Runner app