Доброго времени суток, уважаемая аудитория!
Прошу помощи, в связи с очень плохим знанием скриптов.
Есть кнопка в панели расширения для Photoshop, которая запускает .jsx
<button class="tool" id="gb_3b">MyFunc</button>
Нажатие кнопки запускает нужный .jsx из js. В данном случае gb3b.jsx
$("#gb_3b").button().click(function(a) {
csInterface.evalScript('$.evalFile("' + extensionRoot + 'work/gb3b.jsx")')
});
Мне нужно передать переменную из jsx в js.
В самом конце jsx помещаю функцию
function func_in_jsx() {
var rm = r2;
return rm;
};
А в js добавляю:
$("#gb_3b").button().click(function(a) {
csInterface.evalScript('$.evalFile("' + extensionRoot + 'work/gb3b.jsx"); func_in_jsx();', function f(x) {var rad_m = x; $('#gblur3rad').slider("value", rad_m);};
});
В случае передачи одной переменной, все замечательно работает. Скрипт jsx отрабатывает все что положено в Photoshop и по завершении, ползунок в панели сдвигается соответственно значению возвращенной переменной.
А вот в случае, когда нужно вернуть несколько переменных, у меня стопор. Не знаю, как это правильно записать.
В jsx меняю функцию на:
function func_in_jsx() {
var rl = r1;
var rm = r2;
return [rl, rm];
};
А вот как это записать правильно в js не знаю. Пробовал по всякому. Никак. Алерт показывает, что вернулось 2 значения, а вот присвоить их переменным не знаю как.
$("#gb_3b").button().click(function(a) {
csInterface.evalScript('$.evalFile("' + extensionRoot + 'work/gb3b.jsx"); func_in_jsx();', function f(x) {var y = [x]; var rad_m = y[1]; var rad_l = y[0]; $('#gblur3rad').slider("value", rad_m); $('#lowgblur3rad').slider("value", rad_l);};
});
Заранее благодарю за любую помощь