himorogiの日記

主にプログラミングに関することなど。少々ハード(電子工作)についても。

OSX を Yosemite にしたので、ScriptEditor から Javascript でもスクリプト書けるようになった。

app = Application.currentApplication();
app.includeStandardAdditions =true;
app.displayAlert( 'Hello World');

※ displayAlert や displayDialog を使うときは app.includeStandardAdditions =true; が必要らしい。

実行結果

app = Application(<unknown>)
	app.sysodisA("Hello World")
		--> {"buttonReturned":"OK"}

結果:
{"buttonReturned":"OK"}

※ displayAlert を displayDialog に換えると [OK]button の他に [Cancel]button も押せるようになるが displayDialog から [Cancle]button を押すと Error が発生する。

※ displayDialog 使うときは try{}catch{} でエラートラップしないとダメなのか…

app = Application.currentApplication();
app.includeStandardAdditions =true;
app.displayDialog( 'Hello World');

実行結果

app = Application(<unknown>)
	app.sysodlog("Hello World")
		--> Error -128: User canceled.
結果:
Error -128: User canceled.

ちょっとした toy script で動作確認するだけなら、履歴 pane に log を残せば済むので console.log を試してみたけど上手く結果表示されない?

多分引数の問題だと思うのだけど console.log の引数定義はどうなってるんだろう?
AppleScript の Command である log に対応していると思うのだけど、単に値渡すだけではダメなのか?

app = Application.currentApplication();
app.includeStandardAdditions =true;
console.log( 'Hello World');

実行結果

/* Hello World */
結果:
undefined