javascript - Extendscript 获取调用者函数文件路径

标签 javascript watch extendscript

我正在尝试获取调用者函数的文件路径。就像这个例子:

项目路径:C:/project/some-project

index.jsx:

#include './test.jsx';
someFunc();

测试.jsx:

function someFunc() {
    return callerFilePath();
}

预期结果(以下之一):

  • C:/project/some-project/index.jsx
  • ./index.js

我尝试将观察者添加到 $ 对象,例如:

$.watch('fileName', function(prop, oldval, newval) {
    doSomething();
});

但它似乎只适用于我更改的 Prop ,而不适用于核心。 还尝试了 $.evalFile();

提前致谢!

最佳答案

此设置应该为您提供函数所在文件的路径。

文件夹结构:

├── index.jsx
└── sub-folder
    └── include.jsx

index.jsx的内容

//@include "sub-folder/include.jsx"
$.writeln(getPath());

include.jsx 的内容

function getPath (){
  return $.fileName;
}

关于javascript - Extendscript 获取调用者函数文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37652635/

相关文章:

javascript - 以编程方式发送电子邮件

JavaScript 日期时间格式

javascript - Bootstrap 轮播在哈巴狗中无法滑动

javascript - 如何在 Racer/DerbyJS 上创建服务器端应用程序逻辑?

python - 如何使用 Python 查看文件而不是目录的更改?

javascript - 如何将对象从 Javascript (Adobe CEP) 传递给 Adob​​e ExtendScript?

javascript - 将文件添加到目录时在 node.js 中获取通知

AngularJS - 在表达式中使用逗号或其他特殊字符来观察 $scope.$watch

javascript - Indesign Script 确实起作用了两次

javascript - Adobe InDesign JavaScript XML : How to add XML structure tags programmatically?