JXA でダイアログ
# 最終更新日 2019.20.06.14
アラート
#!/usr/bin/osascript
let app = Application.currentApplication();
app.includeStandardAdditions = true;
// alert
let r = app.displayAlert('日本語も問題無し', {
message: 'buttonReturned が戻るので変数に入れています'
});
プロンプト
#!/usr/bin/osascript
let app = Application.currentApplication();
app.includeStandardAdditions = true;
// prompt
try {
let res = app.displayDialog('プロンプト', {
defaultAnswer: 'esc はキャンセル扱いになる'
}).textReturned;
console.log(`[${res}] が入力されました`);
} catch(e) {
console.log('キャンセルされました');
}
Yes/No ダイアログ
#!/usr/bin/osascript
let app = Application.currentApplication();
app.includeStandardAdditions = true;
// Yes No
try {
let yn = app.displayDialog('あなたはエッチですか?', {
buttons: ['いやんエッチ!', 'はいエッチです'],
defaultButton: 'はいエッチです',
cancelButton: 'いやんエッチ!',
withIcon: 'caution'
});
console.log('このドスケベ!');
} catch(e) {
console.log('うそつき!');
}
リストから選択
#!/usr/bin/osascript
let app = Application.currentApplication();
app.includeStandardAdditions = true;
// List 選択
let b = app.chooseFromList(['YAMAHA', 'KAWASAKI', 'SUZUKI', 'HONDA'], {
withPrompt: 'どのバイクメーカーが好き?',
defaultItems: ['SUZUKI']
});
if (b) {
if (b[0] === 'SUZUKI') {
console.log('やっぱり SUZUKI だね!');
} else {
console.log('わかってねーな...');
}
} else {
console.log('選べよ!');
}
通知
#!/usr/bin/osascript
let app = Application.currentApplication();
app.includeStandardAdditions = true;
// Notifications
app.displayNotification('おはよう',{
withTitle: 'ぼくノラクロ',
subtitle: '起きる時間だよ、起きろー'
});
Copyright(C) sasakima-nao All rights reserved 2002 --- 2025.