【问题标题】:Photoshop: How do I run / call a JSX script from another JSX script in Photoshop?Photoshop:如何在 Photoshop 中从另一个 JSX 脚本运行/调用 JSX 脚本?
【发布时间】:2010-11-01 00:59:32
【问题描述】:

我在一个 JSX 脚本中有变量和字符串,我想在 Photoshop 的另一个 JSX 脚本中使用它们。

我想在第二个脚本中重新运行第一个脚本,并以这种方式获取变量。我该怎么做?

更多细节:我正在使用第一个脚本并在该脚本中处理数字。当我完成我的工作后,我想要另一个脚本来获取这些数字并对这些变量进行一些计算并提示我,以便我可以将其复制粘贴到我在其他地方使用它的地方。

这是我在 Stack 的第一篇文章,我已经在这个网站上找到了大量的信息,真的很棒,感谢这里的每一个人 :)

【问题讨论】:

标签: javascript photoshop jsx


【解决方案1】:

我通过谷歌搜索找到了解决方案。在这里回答:http://forums.adobe.com/thread/555016

这就是我的样子。由于我只需要运行一个脚本,因此我已将其他内容注释掉。

var SCRIPTS_FOLDER =  decodeURI(app.path + '/' + localize("$$$/ScriptingSupport/InstalledScripts=Presets/Scripts"));
var geo_dynamic = File(SCRIPTS_FOLDER + "/geo_dynamic.jsx");
//var Script2 = File(SCRIPTS_FOLDER + "/Script2.jsx");
//var Script3 = File(SCRIPTS_FOLDER + "/Script3.jsx");
$.evalFile (geo_dynamic);
//$.evalFile (Script2);
//$.evalFile (Script3);

这有点超出我的想象,但它确实有效。有趣的是,做这么简单的事情竟然这么复杂!在我开始的 perl 脚本中,我发现这在 perl 中要容易得多。

【讨论】:

  • 它是这样工作的:第一行创建一个字符串,它是脚本文件夹的绝对路径,第二行从该路径加载“geo_dynamic”文件,第三行评估文件(在里面运行它当前范围)。这是没有固有 include 或 require 方法的语言中的常见模式。脚本语言通常不能方便地支持多源文件加载,因此这样的解决方案非常流行,尤其是现在 javascript 经常用于更广泛和更复杂的应用程序。也欢迎!
  • 不错!比使用的短得多(并发布在另一个问题上)。
【解决方案2】:

我刚刚找到了一个更好的解决方案来导入另一个 jsx。 这真的很简单,只需输入这一行即可:

#include "path/to/file.jsx"

之后就可以使用导入jsx的任意方法了。

一个例子:

#include "path/to/file.jsx"
foreign_method();

【讨论】:

    猜你喜欢
    • 2017-08-13
    • 2014-12-06
    • 2014-10-17
    • 2013-11-26
    • 2013-08-16
    • 2011-08-13
    • 2011-06-09
    • 2017-11-26
    • 2011-08-05
    相关资源
    最近更新 更多