wtf*_*als 5 javascript macos applescript automation javascript-automation
如何在 OS X JavaScript 中监听事件以实现自动化。
在消息应用程序的脚本库中有一个事件处理程序列表,例如messageSent和messageReceived。但是,我无法弄清楚如何使用它们。尝试传递函数会产生错误,而尝试将这些变量设置为新函数会导致 REPL 挂起。
设置这些事件处理程序的正确方法是什么?
您将创建一个脚本,然后从 中的 AppleScript 处理程序菜单中选择该脚本Preferences > General。使用内置Speak Events.applescript文件作为指南,并注意您必须覆盖每个处理程序才能正确执行。
注意:即使包含标准添加,您仍然无法调用脚本添加命令,这可能是say()由于它们如何在脚本引擎之上实现此层,甚至使适当的调用currentApplication()看起来像是跨应用程序发送的。
这是一个模板:
Messages = Application.currentApplication()
Messages.includeStandardAdditions = true
function messageSent(m, e) {
}
function messageReceived(m, e) {
}
function chatRoomMessageReceived(e) {
}
function activeChatMessageReceived(m, e) {
}
function addressedMessageReceived(m, b, c, e) {
}
function receivedTextInvitation(e) {
}
function receivedAudioInvitation(m, b, c, e) {
}
function receivedVideoInvitation(m, b, c, e) {
}
function receivedLocalScreenSharingInvitation(b, c, e) {
}
function buddyAuthorizationRequested(e) {
}
function addressedChatRoomMessageReceived(e) {
}
function receivedRemoteScreenSharingInvitation(e) {
}
function loginFinished(e) {
}
function logoutFinished(e) {
}
function buddyBecameAvailable(e) {
}
function buddyBecameUnavailable(e) {
}
function receivedFileTransferInvitation(e) {
}
function avChatStarted(e) {
}
function avChatEnded(e) {
}
function completedFileTransfer(e) {
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1569 次 |
| 最近记录: |