Application and namespace specifiers¶
All forms of interapplication communication use Application specifiers to identify Adobe applications. In all ExtendScript scripts, the #target directive can use an specifier to identify the application that should run that script. See Preprocessor directives.
In interapplication messages, the specifier is used as the value of the target property of the message object, to identify the target application for the message.
Adobe Bridge (which is integrated with many Adobe applications) uses an application specifier as the
value of the document.owner
property, to identify another application that created or opened an
Adobe Bridge browser window. For details, see the Adobe Bridge JavaScript Reference.
When a script for one application invokes cross-DOM or exported functions, it identifies the exporting application using Namespace specifiers.
Application specifiers¶
Application specifiers are strings that encode the application name, a version number and a language
code. They take the following form:
appname[_instance[[-version[-locale]]]
|
An Adobe application name. For example, these are the identifying strings for applications that can use the ExtendScript Toolkit in Creative Suite 4:
|
|
Optional. An additional string appended with an underscore, that distinguishes the instance for those applications (such as InDesign Server) that support the launching and running of multiple instances. For example, for a server launched with SOAP port 12345, the specifier would be indesignserver_configuration_12345. |
|
Optional. A number indicating at least a major version. The number should include a minor version separated from the major version number by a dot; for example, 1.5. If not supplied, assumes the same suite version as the sending application, if possible; otherwise, the highest available version number. This is the complete list of identifying names and version numbers for applications that can use interapplication messaging in Creative Suite 4:
|
|
Optional. An Adobe locale code, consisting of a 2-letter ISO-639 language code and an optional 2-letter ISO 3166 country code separated by an underscore. Case is significant. For example, en_us, en_uk, ja_jp, de_de, fr_fr. If not supplied, ExtendScript uses the current platform locale. Do not specify a locale for a multilingual application, such as Bridge, that has all locale versions included in a single installation. |
The following are examples of legal specifiers:
photoshop
bridge-3.0
indesign_1-6.0
illustrator-14.0
illustrator-14.0-de_de
If a specifier does not supply specific version and locale information, the framework tries to find the most appropriate available installation. It tries to match to available applications in this order:
Peer applications (from the same suite)
Applications with the highest available version number
Applications that are currently running
Applications that match the current locale
Applications for any locale
Namespace specifiers¶
When calling cross-DOM and exported functions from other applications, a namespace specifier qualifies the function call, directing it to the appropriate application. Namespace specifiers consist of an application name, as used in an application specifier, with an optional major version number. Use it as a prefix to an exported function name, with the JavaScript dot notation. appname[majorVersion].functionName(args)
For example:
To call the cross-DOM function quit in Photoshop, use photoshop.quit(), and to call it in Adobe Illustrator®, use illustrator.quit().
To call the exported function place, defined for Illustrator CS5 version 15 call illustrator15.place(myFiles).
For information about the cross-DOM and exported functions, see Remote function calls.