Работа над скриптом для InDesign Я нашел эту проблему: если я вызываю app.open() изнутри button.onclick(), она останавливается и ничего не происходит. Поскольку я начинаю с Javascript, я, вероятно, что-то делаю неправильно. Но если нет, как мне исправить? Я не могу найти альтернативы.app.open не отвечает, если вызван изнутри onclick()
Пожалуйста, только чистый Javascript.
Заранее спасибо.
Здесь рабочий код:
var book_info;
if (app.books.length != 1) {
var theFile = File.openDialog ("Select the book file to open...");
get_data(theFile);
alert(book_info.filePath + "\r" + book_info.name);
}
book_info.close();
function get_data(data) {
app.open(data);
book_info = app.activeBook;
alert("INSIDE FUNCTION" + book_info.filePath + "\r" + book_info.name);
return data;
}
и тут один не работает:
var book_info;
var w1 = new Window ("dialog", "TEST");
w1.minimumSize.height = 50;
w1.minimumSize.width = 50;
var p1 = w1.add ("panel");
sel_button = p1.add ("button", undefined, "Select book");
var g1 = w1.add ("group");
g1.add("button", undefined, "Cancel");
g1.add("button", undefined, "OK");
sel_button.onClick = function(){
var theFile = File.openDialog ("Select the book file to open...");
get_data(theFile);
alert(book_info.filePath + "\r" + book_info.name);
book_info.close();
};
w1.show();
function get_data(data) {
app.open(data);
book_info = app.activeBook;
alert("INSIDE FUNCTION" + book_info.filePath + "\r" + book_info.name);
return data;
}
Он ничего не делает, он возвращает ошибку - «Не может обрабатывать запрос, потому что модальный диалог активен». Вы можете использовать w1.close() ;, но у вас будет такая же ошибка. Когда вы вызываете функцию, прикрепленную к окну, предполагается, что есть окно (даже если вы его закрываете) и остановите некоторые из функций. Раньше у меня была аналогичная проблема, и мне пришлось полностью сменить сценарий. –
@ nicolai.kant Мне не возвращаются никакие ошибки, он просто останавливается. Не могли бы вы привести мне пример того, как мне изменить свой сценарий? На данный момент я понятия не имею. Спасибо. –