是否可以在AppleScript中调用javascript文件函数?我可以在applescript文件中100%写入时工作,或者我可以使用“do javascript file some file”。有没有办法混合这两个?像这样:
tell application id "com.adobe.Photoshop"
tell current document
do javascript "function(Variable1,Variable1)" in file PathtoJSX
end tell
end tell
该函数位于外部文件中,但我想从applescript传递变量。
更新
当其他人问我但是PathtoJSX是“Javascript文件的路径(.jsx)”时发布了它,所以PathtoJSX =文件“desktop:yourFile.jsx”
答案 0 :(得分:2)
我认为你想要做的是在文件中包含代码的函数部分,并通过AppleScript作为列表(Array)发送参数,这很容易做到:
jsx文件的内容可能是:
testFunc(arguments);
function testFunc(t) {
alert('argument one: ' + t[0] + '\r' + 'argument two: ' + t[1]);
}
,AppleScript可能是:
tell application id "com.adobe.Photoshop"
activate
do javascript PathtoJSX with arguments {"foo", "bar"}
--I tested using:-- do javascript (choose file) with arguments {"foo", "bar")
end tell
无论您使用什么JS代码(文本或文件),您只需确保在该代码中使用参数数组引用。 请注意,如果您使用文本变量而不是别名(文件引用)对此进行测试(就像我一样),则返回字符需要双重转义。
答案 1 :(得分:0)
试试这个:
tell application "Adobe Photoshop CS4"
activate
do javascript (file "/Users/Michael/Desktop/somescript.jsx") with arguments {"foo", "bar"}
end tell
问候。