javascript - JXA 和 OmniGraffle

标签 javascript applescript osx-yosemite javascript-automation

我不知道如何将以下 AppleScript 转换为 JXA(Mac OS X Yosemite 下的自动化 JavaScript):

tell application id "com.omnigroup.OmniGraffle6"
    tell canvas of front window
        make new line at end of graphics with properties {point list:L, draws shadow:false}
    end tell
end tell

这是我尝试过的方法,但在执行最后一行时失败,并出现错误“AppleEvent handler failed”:

app = Application('OmniGraffle')

pt1 = app.Point({x:1,y:2})
pt2 = app.Point({x:1,y:2})

L = []
L.push(pt1)
L.push(pt2)

line = app.Line({pointList:L})

app.documents[0].canvases[0].lines.push(line)

有人可以帮忙吗?

谢谢, 奥雷利安

最佳答案

图形对象(线条、形状等)包含在图形集合中。因此,您必须将最后一行更改为

app.documents[0].canvases[0].graphics.push(line)

关于javascript - JXA 和 OmniGraffle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29327338/

相关文章:

javascript - 如何提高 javascript 数组操作中嵌套循环的性能?

javascript将带前导零的数字转换为字符串它将十进制数更改为八进制数

macos - 允许 AppleScript 脚本在未经许可的情况下运行

php - Yosemite/El Capitan php-gd + mcrypt 安装

macos - mac os x 上的 safari 扩展启用/禁用状态在哪里可以找到?

javascript - 如何在 JavaScript 中确定图像旋转后是否位于可见 Canvas 之外?

javascript - 根据 gridview 行调用 javascript 函数

string - "set foo to text returned of"代表数字吗?

applescript - 绕过AppleScript中的 “Can' t get window”错误

linux - 特定网络上的SSH断开管道