Application.make 在 JavaScript 中用于自动化 (JXA)
Application.make in JavaScript for Automation (JXA)
我正在尝试转换这个现有的 AppleScript 脚本:
tell application "System Events"
make login item with properties {path:"/Applications/Application.app", hidden:false"}
end tell
return
这是我目前的情况:
#!/usr/bin/env osascript -l JavaScript
'use strict';
ObjC.import('stdlib')
function run(argv) {
var systemEvents = Application('System Events')
systemEvents.make({
new: 'LoginItem',
at: systemEvents.loginItems,
withProperties: {
name: "Application",
path: "/Applications/Application.app",
hidden: false,
kind: "Programm"
}
})
$.exit(0)
}
但是我卡在了下一行,因为我实际上不知道要传递给 new:
属性 什么,我 认为 其他属性正确。
new: 'LoginItem',
我希望有人能指出我正确的方向。
Make new
在 JXA.
中不起作用
使用theApp.TheClassName({somePropertyName: "someValue"})
创建对象。
之后,使用theApp.theClassNameWith_s.push(theObject)
将对象附加到数组
示例:
var systemEvents = Application('System Events')
logItemObj = systemEvents.LoginItem({path: "/Applications/Preview.app", hidden: false})
systemEvents.loginItems.push(logItemObj)
- 不要使用
kind
和 name
,这些属性是只读的。
我正在尝试转换这个现有的 AppleScript 脚本:
tell application "System Events"
make login item with properties {path:"/Applications/Application.app", hidden:false"}
end tell
return
这是我目前的情况:
#!/usr/bin/env osascript -l JavaScript
'use strict';
ObjC.import('stdlib')
function run(argv) {
var systemEvents = Application('System Events')
systemEvents.make({
new: 'LoginItem',
at: systemEvents.loginItems,
withProperties: {
name: "Application",
path: "/Applications/Application.app",
hidden: false,
kind: "Programm"
}
})
$.exit(0)
}
但是我卡在了下一行,因为我实际上不知道要传递给 new:
属性 什么,我 认为 其他属性正确。
new: 'LoginItem',
我希望有人能指出我正确的方向。
Make new
在 JXA.
使用theApp.TheClassName({somePropertyName: "someValue"})
创建对象。
之后,使用theApp.theClassNameWith_s.push(theObject)
将对象附加到数组
示例:
var systemEvents = Application('System Events') logItemObj = systemEvents.LoginItem({path: "/Applications/Preview.app", hidden: false}) systemEvents.loginItems.push(logItemObj)
- 不要使用
kind
和name
,这些属性是只读的。