有人知道如何找出 Safari 可用的回调吗?

Anyone know how to find out what callbacks are available for Safari?

我想通过 Applescript 对 Safari 进行一些基本的自动化(除非有人知道更好的方法)。通过网络搜索,我发现有一个名为 page_loaded() 的回调,但必须有其他我可以利用的回调。更重要的是,我不知道如何弄清楚 page_loaded() 是否可用。例如,它不会出现在 Safari 的 Applescript 词典中。 那么我在哪里可以找到我可以在 Applescript 中使用的回调列表?

So where can I find a list of callbacks that I can use in Applescript?

首先,AppleScript 没有异步回调处理程序,但某些应用程序可能会调用特定的处理程序。它们不是回调处理程序,而是由应用程序或系统而不是由用户调用的处理程序。

为了使答案完整,您可以在应用程序的字典中找到特定于应用程序的处理程序。例如,邮件规则处理程序可以在邮件应用程序字典中找到。只需将 Mail.app 文件拖放到 ScriptEditor 上,字典就会打开。在那里你会发现 perform mail action with messages 这是一个处理程序,如果脚本将由邮件规则启动,它将被调用。

需要在 AppleScript Language Guide 中查找全局命名空间中的处理程序。在那里您会找到 adding folder items to 处理程序,当文件夹操作启动脚本(并且用户执行相关操作)时将调用该处理程序。