Ярлыки

28 февр. 2014 г.

Особенности ScriptUI при экспорте в jsxbin

Довольно часто, когда пишут скрипты, не хотят раскрывать их содержимое публике. Для этого скрипт экспортируют в бинарный файл. Но вот, поведение скрипта после экспорта  может меняться.

Вот и ваш покорный слуга обжегся на следующем. Написал два скрипта и решил объединить их функционал в один, добавить интерфейс. Решил использовать "palette" так как в данном случае это оказалось удобней. Был добавлен интерфейс, подобный приведенному ниже.

#target indesign; 
#targetengine "test";
var w = new Window ("palette");
var myButon = w.add ("button", undefined, "test");
var myButon2 = w.add ("button", undefined, "test2");
myButon.onClick = function () {alert ("work")}
myButon2.onClick = function () {alert ("work2")}
w.show();

Вот только после экспорта в Fail.jsxbin Скрипт стартовал а интерфейс скрипта отрисовывался на долю секунды и исчезал. Хотите посмотреть как это выглядело скопируйте код и экпортируйте в Fail.jsxbin.

Как это побороть все оказалось довольно интересно. Необходимо создать новый файл скрипта добавить app.doScript() и вставить во внутрь содержимое  Fail.jsxbin. В результате должны получить подобное см. ниже.

#targetengine "test"
app.doScript("@JSXBIN@ES@2.0@MyBbyBnAGMEbyBn0AhBJFnASzFjQjSjPjCjBBAneGibiOjPjOjFidftJGnASzGjQjSjPjCjBhRCBneGibiOjPjOjFidftJHnASzFjNjZiEjPjDDCXzOjBjDjUjJjWjFiEjPjDjVjNjFjOjUEfjzDjBjQjQFfnftJInASzVjNjZiDjIjBjSjBjDjUjFjSiTjUjZjMjFjTiMjJjTjUGDEjzFiBjSjSjBjZHfntnftJJnASzSjNjZiPjCjKjFjDjUiTjUjZjMjFjTiMjJjTjUIEEjHfntnftJLnAEjzNiDjIjBjSjBjDjUjFjSiMjJjTjUJfRCVGfDVDfCffJMnAEjzKiPjCjKjFjDjUiMjJjTjUKfRCVIfEVDf");

Теперь все начнет работать как положено, а содержимое скрипта будет скрыто от любопытных глаз.

Комментариев нет:

Отправить комментарий