使用After Effects的Adobe扩展进行实验,我正在使用JSX与该软件交互并将信息发送到JS文件,该文件会更新HTML UI面板。
这时,我只是想console.log
从软件获得一些信息(组成和层名称)。
我的问题是,本来可以在JSX端使用的array
的{{1}}会在我的JS工作表中返回时作为strings
的形式收到
这是流程:
main.js
string
hostscript.jsx
(function() {
'use strict';
var csInterface = new CSInterface();
function init() {
themeManager.init();
$("#btn_test").click(function() {
csInterface.evalScript('main()', function(res) {
console.log(typeof(res));
console.log(res);
});
});
}
init();
}());
因此在我的控制台中,我会收到两个信息:
function main() {
var project = app.project;
var comp = project.activeItem;
var layers = comp.selectedLayers;
var layersNames = [];
for (var i = 0; i < layers.length; i++) {
layersNames.push(layers[i].name);
}
return layersNames;
}
string
有什么想法吗?我无法在Stack Overflow或任何其他Adobe相关论坛上找到有针对性的答案。