Adobe ExtendScript 开发 - 与常规 JavaScript 有何不同?
Posted
技术标签:
【中文标题】Adobe ExtendScript 开发 - 与常规 JavaScript 有何不同?【英文标题】:Adobe ExtendScript development - How different than regular JavaScript? 【发布时间】:2010-09-10 18:37:24 【问题描述】:问题
我想知道 ExtendScript 与 javascript 有何不同?从理论上讲,我是否可以聘请精通 JavaScript 的 Web 开发人员来开发它,而不要求他们进行过多的学习?
概述
我正在开发一个媒体数据库(或所谓的“多媒体库”)项目,它基于 XMP(可扩展元数据平台)。用于管理元数据和关键字的逻辑工具似乎是 Adobe Bridge,但是我需要外包几个脚本的开发以向 Bridge 添加一些关键功能,主要用于连接服务器存储的受控关键字词汇表。
高层管理人员以其无穷的智慧决定让软件 alpha/beta 测试人员和 Adobe 重任人员 [我] 负责开发项目发现是解决此问题的最佳方式。虽然我知道我需要做什么,但我不确定谁能真正做到。
很遗憾,我的编程知识仅限于 C++、XML、Apple Script 和网络语言(不幸的是不包括 JavaScript),所以当涉及到关于 JavaScript 的问题时,我会陷入困境。
Bridge Developer Center
Adobe 在这个主题上有一个方便的 SDK,但我无法真正理解整体情况。 Adobe 用户对用户论坛的大部分内容都是旧的或不相关的。
项目描述
我需要在菜单栏中添加一个包含三个选项的菜单。这三个选项都将使用 Bridge 的“关键字”面板中可能的“清除和导入”功能,以使用 FTP 或 HTTP 对象从数据库服务器导入 3 个不同的制表符分隔的文本文件中的 1 个。
我在 Bridge SDK 和 JavaScript 指南中所做的阅读表明,可以添加菜单项,如下图所示,为清楚起见。此外,我设法获得了一个非常粗略的“清除和导入”方法版本,可以用作启动脚本,但是我希望能够通过单击相应的菜单条目来即时调用它们。
要查看大图,请点击here
【问题讨论】:
应该将标签更改为adobe-bridge
以匹配类似标签的格式。
您知道 C++ 是编写扩展的首选方式吗?
【参考方案1】:
ExtendScript 非常接近于常规 JavaScript。他们做了一些扩展(例如,运算符重载),但总的来说两者非常相似。 Adobe 产品包括一个名为“ExtendScript Toolkit”(ESTK) 的 IDE,它为使用交互式调试器编写脚本提供了一个很好的环境。
您可以通过创建 MenuElement 的实例在 Bridge 中创建新的菜单项。将您创建的 MenuElement 对象的 onSelect 属性设置为您希望菜单项在您选择它时执行的功能。 Bridge CS4 JavaScript 参考指南包含所有详细信息。
【讨论】:
关于运算符重载的有趣说明。【参考方案2】:如果它类似于用于旧 Flash IDE 的脚本,那么我认为它只是直接的 javascript/ECMAScript。唯一真正的区别是您可用的 API。我希望任何精通 javascript 的人都能很快上手。
【讨论】:
以上是关于Adobe ExtendScript 开发 - 与常规 JavaScript 有何不同?的主要内容,如果未能解决你的问题,请参考以下文章
Extendscript Toolkit 调试器失败:无法启动调试会话
如何使用 CEP / ExtendScript 在 InDesign 中绘制图形线?
After Effects / ExtendScript:使用库和导入 .jsx 文件?