5

AppleScript の一部を OS X Yosemite で JavaScript に変換しようとしていますが、アプリケーションから列挙型にアクセスする方法がわかりません。例 - Adium のステータス。

AppleScript では:

tell application "Adium"
    if status type of global status is offline then
        log "offline"
    end if
end tell

JavaScript では、「オフライン」列挙型にアクセスする方法がわかりません。

if(Application('Adium').globalStatus.statusType == ?????) {
    console.log("offline");
}

「オフライン」などの簡単なことを試しましたが、成功しませんでした。これらはすべてエラーです。

Application('Adium').StatusType("offline"); // error
Application('Adium').StatusType.offline;     // undefined
Application('Adium').StatusType.make({name:"offline"}); // error

誰かがこのようなものを手に入れましたか?

4

1 に答える 1

3

列挙型の比較はできませんでしたが、これを機能させることができました。自動化のための JavaScript では、プロパティだけを呼び出すと、Apple オブジェクトの ObjectSpecifier が返されます。この場合、statusType は「AdiumRichText」のクラスです。

プロパティの後に () を置くと、正常に動作する NSString (文字列) を返す getter メソッドが呼び出されます。コードは次のとおりです。

if(Application('Adium').globalStatus().statusType() == "offline") {
    console.log("offline");
}
于 2014-08-11T14:52:26.600 に答える