Довольно часто, когда пишут скрипты, не хотят раскрывать их содержимое публике. Для этого скрипт экспортируют в бинарный файл. Но вот, поведение скрипта после экспорта может меняться.
Вот и ваш покорный слуга обжегся на следующем. Написал два скрипта и решил объединить их функционал в один, добавить интерфейс. Решил использовать "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");
Теперь все начнет работать как положено, а содержимое скрипта будет скрыто от любопытных глаз.
Комментариев нет:
Отправить комментарий