如何在Photoshop执行指定动作后触发Completed提示的JavaScript实现
你使用的app.actions["actionName"].onComplete(function(){ alert('action name - completed') })无法运行,是因为Photoshop的ExtendScript API没有为Action对象提供原生的onComplete事件监听接口,该写法不符合PS的脚本规范。
下面提供两种可行的实现方案:
方案1:封装为独立执行脚本(兼容性最佳)
将「执行动作+弹出提示」的逻辑整合为单独的JSX脚本,用户运行该脚本即可完成整套流程,代码如下:
// 请将下方两个参数替换为你实际的动作集名称、目标动作名称 var actionSet = "你的动作集名称"; var actionName = "actionName"; try { app.doAction(actionName, actionSet); alert(actionName + " - 已完成"); } catch(err) { alert("动作执行失败:" + err.message); }
该方案适配绝大多数PS版本,无需修改原有动作,运行稳定。
方案2:在原有动作末尾嵌入脚本步骤(适配点击动作面板触发的需求)
如果你需要用户直接点击动作面板内的原有动作触发提示,可以直接修改目标动作:
- 打开PS动作面板,选中目标动作的最后一个执行步骤
- 点击动作面板右上角的菜单按钮,选择「插入脚本」
- 在弹出的输入框中填入
alert('action name - 已完成')后保存 - 后续每次运行该动作,执行到最后一步就会自动弹出完成提示
注意事项
- 调用动作时必须同时指定动作所属的动作集名称,否则会出现找不到动作的报错
- 若动作执行过程中被手动中断,方案1的异常捕获逻辑会识别到中断状态,不会误触发完成提示
内容的提问来源于stack exchange,提问作者Md solaiman
相关产品推荐
相关产品推荐

