【问题标题】:Mail Rules with javascript instead of applescript使用 javascript 而不是 applescript 的邮件规则
【发布时间】:2018-08-13 12:10:45
【问题描述】:

在 Mac 邮件规则中,我尝试运行 javascript 而不是 applescript。 Mail Rules using JavaScript for Automation instead of AppleScript 中已提出此问题,但答案对我不起作用!

我已尝试尽可能简化代码。因此,以下 applescript 可以正常工作:

on perform mail action with messages theMessages 
    say "running!"
end perform mail action with messages

但等效的 javascript 不起作用。

function performMailActionWithMessages(messages) {
    app = Application.currentApplication()
    app.includeStandardAdditions = true
    app.say ("running")
}

编辑 这是我的规则参数

【问题讨论】:

    标签: javascript applescript javascript-automation apple-mail


    【解决方案1】:

    我在没有应用程序的情况下这样做。尝试类似...

    // ObjC.import('Cocoa')
    ObjC.import('stdlib')
    var program="/usr/bin/say"
    function performMailActionWithMessages(messages) {
        say("running")
    }
    function say(what){
        var command = program + " '"+what+"'"
        console.log(command)
        $.system(command)
    }
    

    我不确定你是否需要可可。你可能需要标准库。

    【讨论】:

    • 主要问题并不是函数内部真正调用了什么。内部可以是任何杂项代码。问题是邮件规则没有触发该函数。
    • 我一直在做这种代码。我使用函数 performMailActionWithMessages(messages, why) { 我有时使用第二个参数。
    • 我将您的详细代码复制到了 mail.scpt 文件中。我添加了一个新的邮件规则,它会发出哔声并触发 mail.sctp。我能听到哔声,但听不到“跑步”
    • 它为我运行。正是我分享的内容。而且不需要 ObjC.import('Cocoa')。
    • 您运行的是 High Sierra 还是旧版本?
    猜你喜欢
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    • 2015-05-09
    相关资源
    最近更新 更多