gpt4 book ai didi

javascript - 如何在 indesign 中要求或包含脚本?

转载 作者:数据小太阳 更新时间:2023-10-29 04:07:18 25 4
gpt4 key购买 nike

如何加载另一个脚本文件并在其上运行方法?

我正在使用 InDesign javascript,但我不知道如何在同一个脚本中包含多个文件。

最佳答案

三个选项:import、app.doScript 和 $.evalFile。我更喜欢 $.evalFile。参见 app.doScript vs $.evalFile

工作示例:

C:\script1.jsx

(function() {
$.evalFile(new File("/c/script2.jsx"));
var sFullName = g_script2.combineName("John", "Doe");
$.writeln(sFullName);
return "Success";
})();

C:\script2.jsx

g_script2 = {
combineName: function(sFirstName, sLastName) {
return sFirstName + " " + sLastName;
}
};

如果script2.jsx不在C盘根目录,修改脚本1为真实位置。

说明:

  1. 脚本 1 创建并执行匿名函数以避免污染全局命名空间。如果它不这样做,sFullName 将是全局的。
  2. 脚本 1 执行脚本 2。
  3. 脚本 2 创建一个对象并将其存储到全局变量 g_script2
  4. 脚本 1 调用脚本 2 的 combineName 方法。这里需要注意的是,脚本的所有文件将共享同一个全局命名空间,这就是脚本 1 可以访问 g_script2。但是,这也意味着任何两个文件都不应具有相同的函数或变量名称,除非它们像本例一样保存在全局对象中。
  5. 运行combineName函数,返回一个字符串。
  6. 脚本 1 打印名称,然后返回“成功”。由于这是堆栈中的最后一个对象,因此它作为脚本结果返回。

关于javascript - 如何在 indesign 中要求或包含脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15244186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com