【发布时间】:2021-11-15 06:16:28
【问题描述】:
我有 2 个 applescript 应用程序第一个实际上调用了第二个应用程序来运行。
应用 1
on open location this_URL
tell application "App2" to activate
end open location
应用程序2
# does Something
现在我想将变量 this_URL 从应用程序 1 发送到应用程序 2,以便它可以处理它。
我是applescript的新手,我搜索了很多,但我得到的只是如何将命令发送到预构建的应用程序。我想知道如何发送变量以及如何在第二个应用程序中处理该变量?
编辑:
只是添加一个我现在正在做的示例方法,但我认为这不是最好的方法。
应用1:
on open location this_URL
set the clipboard to this_URL
tell application "App2" to activate
end open location
应用程序2:
set this_URL to ( the clipboard as text )
# does Something
set the clipboard to ""
【问题讨论】:
-
我不太明白你的目标是什么?您想在其他应用程序中使用该变量吗?只需在那里使用
this_URL。想要从应用程序中读取数据,将其保存为变量,然后在另一个应用程序中使用该变量?如果它是浏览器,您可以在其中执行 javascript(我认为您非常熟悉)在基于 Chrome/Chromium 的浏览器中使用execute javascript "code goes here"或在 safari 中使用do javascript "code goes here"。不过,请务必使用tell语句定位正确的选项卡。我的意思是:请提供更多细节,在目前的状态下,我们无法提供帮助。 -
@gurkensaas 正是“想要从应用程序中读取,将其保存为变量,然后在另一个应用程序中使用该变量?”但我正在开发这两个应用程序。所以我只需要一种方法将这个变量传输到另一个应用程序并从那里处理它。
-
您可能应该使用
do shell script "osascript /path/to/your/applescript.app"触发它们,然后看看它们返回什么。您也可以创建应用程序write to file 并使用read file ("/path/to/your/file.txt" as POSIX file)从文件中读取。 -
@gurkensaas 我已经用我正在使用的示例方法/解决方法编辑了这个问题。它可以帮助你理解问题
-
@gurkensaas 有没有办法可以
tell app2 do someting(this_url) end tell并在我的app2 中处理这个something
标签: macos applescript ipc