跳转到内容

bridgetalk 类

BridgeTalk 类

该类的静态属性和方法为您的脚本提供了一种方式,在创建任何特定消息对象之前确定基本的消息系统信息。静态方法允许您检查应用程序是否已安装并正在运行,并启动应用程序。类上定义的回调决定了应用程序如何处理传入消息。

您可以在全局命名空间中访问 BridgeTalk 类的静态属性和方法。例如:

var thisApp = BridgeTalk.appName;

属性

BridgeTalk 类提供了以下静态属性,这些属性在全局命名空间中可用:

BridgeTalk.appInstance

BridgeTalk.appInstance

描述

由消息框架启动的应用程序的实例标识符,应用程序指定符的实例部分;请参阅 应用程序指定符

仅适用于支持启动和运行多个实例的应用程序,例如 InDesign。

类型

字符串。只读。


BridgeTalk.appLocale

BridgeTalk.appLocale

描述

此应用程序的区域设置,应用程序指定符的区域设置部分;请参阅 应用程序指定符。当发送消息时,这是发送应用程序的区域设置。

类型

字符串。只读。


BridgeTalk.appName

BridgeTalk.appName

描述

此应用程序的名称,应用程序指定符的应用程序名称部分;请参阅 应用程序指定符。当发送消息时,这是发送应用程序的名称。

类型

字符串。只读。


BridgeTalk.appSpecifier

BridgeTalk.appSpecifier

描述

包含此应用程序完整指定符的小写字符串;请参阅 应用程序指定符

类型

字符串。


BridgeTalk.appStatus

BridgeTalk.appStatus

描述

此应用程序的当前处理状态。可能的值包括:

  • busy:应用程序当前繁忙,但未处理消息。例如,当显示模态对话框时就是这种情况。
  • idle:应用程序当前空闲,但定期处理消息。
  • not installed:应用程序未安装。

类型

字符串。只读。


BridgeTalk.appVersion

BridgeTalk.appVersion

描述

此应用程序的版本号,应用程序指定符的版本部分;请参阅 应用程序指定符。当发送消息时,这是发送应用程序的版本。

类型

字符串。只读。


BridgeTalk.onReceive

BridgeTalk.onReceive

描述

返回

此应用程序应用于未经请求的传入消息的回调函数。默认函数评估接收到的消息的主体并返回评估结果。要更改默认行为,请将其设置为以下形式的函数定义:

BridgeTalk.onReceive = function( bridgeTalkObject ) {
// 处理接收到的消息
};

接收到的消息对象的 body 属性包含接收到的数据。该函数可以返回任何类型。请参阅 处理未经请求的消息

类型

函数


函数

BridgeTalk 类提供了以下静态方法,这些方法在全局命名空间中可用:

BridgeTalk.bringToFront()

BridgeTalk.bringToFront(app)

描述

将指定应用程序的所有窗口置于屏幕的最前面。

在 Mac OS 中,应用程序可能正在运行但没有打开任何窗口。在这种情况下,调用此函数可能会或可能不会打开新窗口,具体取决于应用程序。对于 Adobe Bridge,它会打开一个新的浏览器窗口。

参数

参数类型描述
app应用程序指定符目标应用程序的指定符

返回


BridgeTalk.getAppPath()

BridgeTalk.getAppPath(app)

描述

检索指定应用程序的可执行文件的完整路径。

参数

参数类型描述
app应用程序指定符目标应用程序的指定符

返回

字符串


BridgeTalk.getDisplayName()

BridgeTalk.getDisplayName(app)

描述

返回应用程序的本地化显示名称,如果应用程序未安装则返回 null。例如:

参数

参数类型描述
app应用程序指定符目标应用程序的指定符

返回

字符串

示例

BridgeTalk.getDisplayName("photoshop-10.0");
=> Adobe Photoshop CS4

BridgeTalk.getSpecifier()

BridgeTalk.getSpecifier(appName[, version][, locale])

描述

检索完整的应用程序指定符。

参数

参数类型描述
appName要搜索的应用程序的基本名称。
version数字可选。要搜索的特定版本号。
如果为 0 或未提供,则返回最新版本。
如果为负值,则返回最高版本,直到并包括该值的绝对值。
如果指定了主版本号,则返回最高次版本号的变化。例如,如果安装了 Photoshop CS 版本 9、9.1 和 10:
<pre lang="javascript">BridgeTalk.Specifier( “photoshop”, “9” )“ => [“photoshop-9.1”]</pre>
locale字符串可选。要搜索的特定区域设置。如果未提供且安装了多个语言版本,则优先选择当前区域设置的版本。

返回

应用程序指定符,用于此计算机上安装的支持消息传递的应用程序版本,如果请求的应用程序版本未安装,则返回 null

示例

例如,假设安装的应用程序包括 Photoshop CS4 11.0 en_us、Photoshop CS2 8.5 de_de、Photoshop CS2 9.0 de_de 和 Photoshop CS2 9.5 de_de,并且当前区域设置为 en_US

BridgeTalk.getSpecifier ("photoshop");
=> ["photoshop-11.0-en_us"]
BridgeTalk.getSpecifier ("photoshop", 0, "en_us");
=> ["photoshop-11.0-en_us"]
BridgeTalk.getSpecifier ("photoshop", 0, "de_de");
=> ["photoshop-9.5-de_de"]
BridgeTalk.getSpecifier ("photoshop", -9.2, "de_de");
=> ["photoshop-9.0-de_de"]
BridgeTalk.getSpecifier ("photoshop", 8);
=> ["photoshop-8.5-de_de"]

BridgeTalk.getStatus()

BridgeTalk.getStatus(targetSpec)

描述

检索应用程序的处理状态。

参数

参数类型描述
targetSpec应用程序指定符可选。目标应用程序的指定符。如果未提供,则返回当前应用程序的处理状态。

返回

字符串,可能的值包括:

  • BUSY:应用程序当前繁忙,但未处理消息。例如,当显示模态对话框时就是这种情况。
  • IDLE:应用程序当前空闲,但定期处理消息。
  • PUMPING:应用程序当前正在处理消息。
  • ISNOTRUNNING:应用程序已安装但未运行。
  • ISNOTINSTALLED:应用程序未安装。
  • UNDEFINED:应用程序正在运行但未响应 ping 请求。这可能是使用早期版本消息框架的 CS2 应用程序的情况。

BridgeTalk.getTargets()

BridgeTalk.getTargets([version],[locale])

描述

检索此计算机上安装的支持消息传递的应用程序列表。

参数

参数类型描述
version数字可选。要搜索的特定版本号,或 null 以返回最合适的版本(匹配、最新或正在运行的版本),并包含版本信息。
仅指定主版本号以返回最高次版本号的变化。
例如,如果安装了 Photoshop CS 版本 9、9.5 和 10
<pre lang="javascript">BridgeTalk.getTargets( “9” )“=> [photoshop-9.5]</pre>
指定负值以返回所有版本,直到版本号的绝对值。例如
<pre lang="javascript">BridgeTalk.getTargets( “-9.9” )“=> [photoshop-9.0, photoshop-9.5]</pre>
locale字符串可选。要搜索的特定区域设置,或 null 以返回所有区域设置的应用程序,并包含区域设置信息。如果未提供版本信息,则仅返回带有版本信息的指定符。

返回

返回 应用程序指定符 的数组。

  • 如果提供了版本,指定符包括基本名称和版本信息。
  • 如果提供了区域设置,指定符包括完整名称,包含版本和区域设置信息。
  • 如果未提供版本和区域设置,则返回基本指定符,不包含版本和区域设置信息,但尝试找到最合适的版本和区域设置;请参阅 应用程序指定符

示例

例如,假设安装的应用程序包括 Photoshop CS3 10.0 en_US、Photoshop CS4 11.0 en_us 和 Illustrator CS4 14.0 de_de

BridgeTalk.getTargets();
=> [photoshop,illustrator]
BridgeTalk.getTargets( "10.0" );
=> [photoshop-10.0]
BridgeTalk.getTargets( null );
=> [photoshop-11.0, illustrator-14.0]
BridgeTalk.getTargets( null, "en_US" );
=> [photoshop-10.0-en_US, photoshop-11.0-en_US]
BridgeTalk.getTargets( null, null );
=> [photoshop-10.0-en_US, photoshop-11.0-en_us, illustrator-14.0-de_de]

BridgeTalk.isRunning()

BridgeTalk.isRunning(specifier)

描述

检查给定应用程序是否正在本地计算机上运行并处于活动状态。

参数

参数类型描述
specifier应用程序指定符目标应用程序的指定符

返回

布尔值


BridgeTalk.launch()

BridgeTalk.launch(specifier[, where])

描述

在本地计算机上启动给定的应用程序。为了向应用程序发送消息,不需要显式启动应用程序;向未运行的应用程序发送消息会自动启动它。

参数

参数类型描述
specifier应用程序指定符目标应用程序的指定符
where未知。可选。如果指定了值 “background”,则应用程序的主窗口不会置于屏幕的最前面。

返回

布尔值。如果应用程序已经启动,则返回 true,如果由此次调用启动,则返回 false


BridgeTalk.loadAppScript()

BridgeTalk.loadAppScript(specifier)

描述

从公共的 StartupScripts 文件夹加载应用程序的启动脚本。用于实现启动脚本的延迟加载。

参数

参数类型描述
specifier应用程序指定符目标应用程序的指定符

返回

布尔值。如果脚本成功加载,则返回 true


BridgeTalk.ping()

BridgeTalk.ping(specifier, pingRequest)

描述

向另一个应用程序发送消息以确定是否可以联系到它。

参数

参数类型描述
specifier应用程序指定符目标应用程序的指定符
pingRequest标识键字符串,可能的值包括:特定类型的返回值。
-STATUS:返回处理状态;请参阅 getStatus()
-DIAGNOSTICS:返回包含有效 ping 键列表的诊断报告。
-ECHO_REQUEST:返回 ECHO_RESPONSE 以进行简单的 ping 请求。

返回

字符串


BridgeTalk.pump()

BridgeTalk.pump()

描述

检查所有活动的消息传递接口以获取传出和传入消息,并在有消息时处理它们。

返回

布尔值。如果处理了任何消息,则返回 true,否则返回 false