В процессе разработки скриптов нужно учитывать то обстоятельство, что при возникновении определенных условий InDesign сам выдает диалоги - в основном, это касается предупреждений - например, потеряны связи, и т. п. Если вы полностью автоматизируете процесс и необходимость ответа на возможные вопросы со стороны InDesign нужно исключить, отключите вывод диалоговых окон, что задается через свойство приложения userlnteractionLevel (ЛИСТИНГ 3.1).

Листинг 3.1. Управление интерактивностью

II Запрет на отображение диалоговых окон

app.userlnteractionLevel = userlnteractionLevels.neverlnteract

II Разрешение диалоговых окон (значение по умолчанию)

app.userlnteractionLevel = userlnteractionLevels.interactWithAll

В зависимости от решаемых задач диалоги можно разделить на два основных типа: базовые и расширенные.

Сфера применения базовых - в основном, отладка скрипта и, в меньшей мере, использование как элемента интерфейса. Не требуют специальных знаний (поскольку используются стандартные JavaScript-конетрукции), просты, компакты, легко читаются и в то же время достаточно функциональны.

Наиболее целесообразно использовать их на начальной стадии работы со скриптами, а также при задании максимум до 4-5 опций, необходимых, для работы скрипта.

Более развитые целесообразнее всего использовать в скриптах, требующих от пользователя ввода множества опций, значений, также они незаменимы при обращении к стилям, цветам, другим объектам, которые иепользуются в документе - в таком случае организовать работу по-другому просто невозможно.

К базовым можно отнести три метода: alert о, prompt о, confirm о.

3.1. Базовые методы

3.1.1. alertQ

Синтаксис:

alert([sMessage])

Здесь sMessage-- текстовая строка (наличие впереди буквы "s" говорит о том, что тип переменной - строка (string)). Разрешается использование специальных символов (\п и \t, см. приложение 2).

Наиболее простой вариант используется только для отображения на экране сообщения. Отображает модальное (требующее реакции пользователя) окно, содержащее кнопку ОК. Используется для простейшей отладки скриптов, т. к. позволяет вывести содержимое переменной.

3.1.2. confirmO

Синтаксис:

confirm ([sMessage])

Данное окно аналогично окну alert о, за исключением того, что оно содержит две кнопки - ОК и Cancel. Позволяет получить от пользователя подтверждение или отказ от каких-либо действий. Возвращает значение true, если нажата кнопка ОК, и false в случае нажатия кнопки Cancel.

Пример использования метода confirm!) представлен в листинге 3.2.

. Листинг 3.2. Использование метода confirmO

if (confirm("npMMep окна Confirm")) { alert("Ok"); } else {

alert("Cancel") ;

}

3.1.3. prompt О

Синтаксис:

prompt([sMessage] [, sDefaultValue])

Это окно позволяет получить от пользователя данные в виде строки (второй параметр) и является ограниченной альтернативой расширенным методам создания интерфейса. При открытии окна выводится значение, заданное по умолчанию (sDefaultValue). При необходимости передать больше чем одно значение их разделяют любым разделителем, который потом используют для вычленения значений.


⇐ вернуться назад | | далее ⇒