Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Все, что вы хотели знать о написании скриптов для JFW, 1 страница



Все, что вы хотели знать о написании скриптов для JFW,

но не знали, кого спросить

 

ВВедение

 

Что такое скрипты? Давайте начнем с некоторых определений. Что

такое скрипт вообще? Когда вы выполняете на компьютере какую-либо

работу, она обычно включает некоторое количество шагов. Возможно,

вам приходится нажать несколько клавиш, чтобы попасть в нужную

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

вам приходится нажимать несколько клавиш, чтобы открыть

программу, с которой вы хотите поработать. Затем, после того, как вы

оказались там, где хотели, вам возможно придется нажать еще

несколько клавиш, чтобы ввести нужные данные. Например, вы

находитесь в текстовом редакторе, и хотите ввести в верхней части

письма свой обратный адрес. Это может оказаться утомительным

занятием, если вам часто приходится это делать. Поэтому разве не

замечательно было бы набирать обратный адрес с помощью одной

единственной клавиши? Это как раз то, что делает скрипт. Скрипт

(ранее известный как макрос) - это небольшая компьютерная

программа, которая объединяет несколько шагов или комбинаций

клавиш в одну операцию, которую вы можете активизировать быстро и

просто. Ну, по крайней мере это один из типов скриптов. Jaws и

другие компьютерные приложения все время используют скрипты, и

очевидно, делают это не для того, чтобы набирать обратный адрес.

Поэтому, более глобально, скрипты - это последовательности отдельных

шагов, которые можно использовать для активизации и управления

широким диапазоном компьютерных процессов, начиная от таких

простых шагов, как повторение повторяющихся строк данных, и кончая

сложными вещами, которые ваш компьютер делает на постоянной

основе в качестве части своей деятельности. Именно такого рода

функциями мы и намерены озаботиться в данном руководстве. Хотя то,

что вы здесь узнаете, вы спокойно сможете использовать для

написания обратных адресов, вы также научитесь контролировать Jaws

таким образом, что он будет вести себя в большем соответствии с

вашими желаниями. Многие аспекты управления компьютером, которые

мы считаем само собой разумеющимися, фактически находятся под

контролем скриптов. Мы, конечно, не считаем их скриптами, поскольку

они закодированы внутри приложения. Например, когда мы пользуемся

клавишами управления курсором, или вызываем в Microsoft Word



диалог с помощью горячей клавиши, на самом деле мы вызываем часть

программы, которая выполняет ряд операций или шагов. Согласно

нашему определению, это и есть скрипт. Jaws использует много

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

определенных ситуациях или когда вы нажимаете определенные

клавиши. Jaws потому и стал такой чрезвычайно мощной программой,

что разработчики не стали прятать эти скрипты как часть главной

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

Если бы они так поступили, то Jaws был бы куда менее гибким

инструментом и был бы куда менее приспособляемым к нуждам

необычных приложений. Разработчики Jaws приняли сознательное

решение, позволить вам писать собственные скрипты для конкретных

целей и и дать вам возможность видеть и модифицировать отдельные

скрипты по умолчанию, которые контролируют многие аспекты работы

программы. Модифицированные или заново написанные скрипты затем

группируются в файлы скриптов, которые имеют то же имя, что и

приложение, для которого они созданы, но имеют другое расширение.

Доступ к скриптам, которые контролируют наиболее фундаментальное

поведение Jaws был обеспечен по двум веским причинам. Во-первых,

каждый пользователь хочет иметь возможность настроить поведение

программы так, как он или она хочет. Во-вторых, хотя разработчики

Jaws предусмотрели многие ситуации, возникающие при чтении экрана

в разных приложениях, невозможно предвидеть любую странную или

нестандартную установку экрана, которую могут придумать

программисты всего мира. В вашем распоряжении находится мощный

арсенал команд скриптов, которые вы можете применять по запросам

таких необычным образом разработанных программ. Вам остается

только научиться пользоваться ими. Кстати, чтобы настроить Jaws,

далеко не всегда следует пользоваться скриптами. Например,

определенные части экрана можно заставить озвучивать, или

игнорировать посредством использования фреймов (frames), которые

можно создать при помощи диспетчера фреймов. Со временем,

несомненно появятся дополнительные режимы, которые дадут вам

возможность настраивать Jaws не обращаясь к скриптам. Но всегда

будут необычные или запутанные ситуации, с которыми сможет

справиться только хорошо написанный скрипт. Помните, что после

того, как вы научитесь пользоваться языком скриптов Jaws, у вас в

руках окажется мощный инструмент, гораздо более мощный, чем

любой встроенный режим. Поэтому вы, вероятно, спрашиваете себя, в

чем же разница между макросом и скриптом? В общем-то никакой.

Скрипт - это макрос, и так оно и есть. Не позволяйте жаргону вас

запутать. Теперь мы будем называть их скриптами.

 

Скрипты против функций

 

Скрипты Jaws можно разделить на две главных категории. Те, которые

вызываются нажатием клавиш, называются скриптами, а те, которые

нет - функциями. Давайте сначала поговорим о клавишных скриптах.

Откуда Jaws знает, что он должен прочитать новую строку текста,

если вы находитесь в текстовом редакторе и нажимаете клавишу

"Стрелка вниз"? Ну, он узнает это, поскольку в главном файле

скриптов Jaws, который называется файл скриптов по умолчанию, есть

скрипт, который "Привязан" к клавише "Стрелка вниз" и этот скрипт

сообщает Jaws, что он должен прочитать новую строку. Этот

конкретный скрипт носит название "SayNexnLine" и он активизируется,

когда вы нажимаете клавишу "Стрелка вниз". Этот скрипт довольно

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

что вы собираетесь сделать, когда нажимаете "Стрелку вниз". Он

проверит, в каком типе окна вы находитесь, когда нажимаете стрелку

вниз, и, если вы находитесь в текстовом окне текстового редактора, он

озвучит строку, на которую вы переместились. В этом файле скриптов

есть строка, которая звучит как "SayLine ()", и она активизируется

после того, как ваш курсор перемещается на следующую строку. Это

строка скрипта, которая фактически выполняет функцию, которая

читает строку. Существует аналогичный скрипт, который называется

"SayPriorLine" (Прочитать предыдущую строку), который

активизируется, когда вы нажимаете клавишу "Стрелка вверх". Этот

скрипт использует аналогичную функцию "SayLine", в качестве части

своего кода. Когда вы нажимаете клавиши "Стрелка влево" и "Стрелка

вправо", активизируются два других скрипта, "SayNextCharacter"

(Прочитать следующий символ) и "SayPriorCharacter" (Прочитать

предыдущий символ). Эти скрипты используют как часть своего кода

функцию "SayCharacter", чтобы озвучить новый символ после того, как

курсор на него переместился. Есть и другие скрипты, прикрепленные к

клавишам, предназначенные для того, чтобы оперировать, когда вы

нажимаете на вашей клавиатуре другие клавиши. Эти скрипты

анализируют текущую ситуацию и пытаются выполнить действие,

соответствующее этой ситуации. Если ситуация очень необычная и не

была предусмотрена разработчиками Jaws, то вы можете сделать

некоторые модификации, чтобы команды выполнялись как положено.

Скрипты, которые не связаны с клавишами, или которые не

активизируются клавишами, называются функциями. Поскольку эти

функции нельзя активизировать при помощи клавиш, их нужно

использовать другим способом. Функции также отличаются от

скриптов, закрепленных за клавишами, еще и тем, что завершая

выполнение, они возвращают некоторую информацию, тогда как

закрепленные за клавишами скрипты этого не делают. Повторим еще

раз: не позволяйте жаргону вас запутать. Функция - это просто

скрипт, который не закреплен за конкретной клавишей и который при

выполнении возвращает некоторую информацию.

 

Почему это так сделано?

 

Есть два очень веских основания. Во-первых, некоторые функции

отрабатывают автоматически, когда происходят определенные события.

А значит, нет необходимости закреплять эти функции за

определенными клавишами, поскольку их активизирует не клавиша.

Во-вторых, иногда набор скриптовых утверждений применим ко

многим ситуациям, и может быть использован снова и снова. Вместо

того, чтобы выписывать этот набор утверждений для каждого скрипта,

который в нем нуждается, он может быть помещен в функцию,

которая может быть использована, или "вызвана" любым другим

скриптом, которому это может понадобиться. Таким образом, функции

подразделяются на две категории, на те, которые срабатывают

автоматически, когда происходят определенные события, и на те,

которые нужно запускать, или "вызывать" из другого скрипта. Первый

тип называется функциями событий, поскольку они запускаются

автоматически, когда происходит некоторое системное событие.

Например, функция NewTextEvent вызывается, когда на экране

пишется новый текст, а функция BottomEdgeEvent вызывается, когда

курсор достигает нижней строки окна. Без функции NewTextEvent

Jaws вообще не смог бы ничего озвучивать автоматически, когда

информация появлялась бы на экране, а без функции BottomEdgeEvent

ваш системный курсор никогда бы не подавал звуковой сигнал, и не

выдавал бы предупреждение, когда Jaws курсор достигал бы нижней

строки окна. Второй тип функций, который не вызывается

автоматически определенными событиями Windows, не имеет

специального названия (верите вы в это, или нет), поэтому мы просто

будем называть их функциями. Эти плоские функции действуют

только в том случае, когда они вызываются другими скриптами или

функциями. Это делается путем помещения имени функции внутри

другого скрипта или функции. Если вы именно так и делаете, то, когда

скрипт доходит до строки, на которой написано имя этой функции, он

приводит к выполнению именно этой функции. Этот процесс

называется "Вызовом" функции. Да, я знаю еще много жаргонных слов,

но вам придется к ним просто привыкнуть. Под вызовом функции

имеется в виду просто помещение имени функции в другой скрипт,

чтобы она была выполнена в нужное время. Например, функция

NewTextEvent, упомянутая выше, имеет строку, в которой написано

"SayNonHighlightedText ()". Если функция NewTextEvent

проанализировала новый текст, написанный на экране, и решила, что

он будет должным образом обработан функцией SayNonHighlightedText,

она передаст работу этой функции, вызвав ее и позволив ей

озвучивать текст для вас. С другой стороны, если функция

NewTextEvent решает, что информация на экране является выделенным

текстом, то она вместо этой вызовет другую функцию, которая

называется SayHighlightedText, и даст возможность этой функции

озвучивать текст. Решения, решения, решения... Ну, скрипты как раз

этим и занимаются. Они анализируют, что происходит на экране и

принимают решение относительно того, как озвучить экран. Если они

делают это неправильно, ваша задача - модифицировать

соответствующий скрипт таким образом, чтобы все было сделано

правильно. Кстати, вы наверное заметили, что после упомянутой выше

функции SayNonHighlightedText стоят открывающая и закрывающая

скобки. Эти скобки всегда требуются при вызове функции из скрипта.

Иногда внутри этих скобок помещается некоторая информация, но об

этом мы поговорим чуть позже.

 

Функции, не связанные с определенными событиями, далее

подразделяются на две большие группы. Первая группа - это список,

насчитывающий более двухсот функций, которыми вы можете

пользоваться в языке скриптов Jaws. Эти функции называются

встроенными функциями и они запрограммированы в Jaws. Создавая

свои скрипты, вы можете вызывать эти функции, но изменять эти

функции вы не можете. Второй тип функций представлен в файлах

скриптов, либо созданных разработчиками Jaws, или добавленных

пользователем. Такие функции называются функциями, заданными

пользователем. После того, как эти функции были созданы, они также

появятся в списке функций, чтобы вы могли пользоваться ими при

создании скриптов. Очевидно, что главное отличие этих функций от

встроенных состоит в том, что эти функции могут модифицироваться

пользователем, если необходимо.

 

Константы и переменные

 

Нам придется ввести еще два понятия, прежде чем мы на деле

займемся написанием скриптов. Это "Переменная" и "Константа".

Переменная - это слово из одной или нескольких букв, которое можно

использовать для сохранения значения, которое определяется в процессе

работы скрипта. Это значение часто неизвестно заранее, и во время

работы скрипта оно может меняться несколько раз. Значение, которое

определяется, приписывается переменной в ходе выполнения скрипта, и

переменная сохраняет это значение, пока оно не изменится, или если

оно не изменится другой операцией скрипта. Значение этой

переменной можно использовать для принятия решений этим, или

другим скриптом. Например, в утверждении "Пусть X = 1" X - это

переменная, и мы приписываем ей значение 1. X будет иметь значение

1 до тех пор, пока мы не изменим его на нечто другое, или пока

выполнение скрипта не сделает это за нас. Кстати, это есть вид

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

присвоить значение переменной. При выполнении конкретного скрипта

мы можем иметь утверждения, которые делают одно если X = 1, но

если X имеет другое значение, они делают что-то другое. Чтобы

продолжить наш пример, значение, хранящееся в переменной X, может

представлять тип окна, в котором мы сейчас находимся, скажем,

Кнопка (Button), поле редактирования (Edit field), или список (List box).

X будет иметь различное значение для каждого из разных типов окон,

а нашему скрипту может понадобиться выполнить различные оперкции

в зависимости от того, в каком окне мы сейчас находимся, и

следовательно от того, какое значение было присвоено переменной X.

Если бы наш скрипт имел возможность заглянуть в операционную

систему Windows и определить тип окна, в котором мы сейчас

находимся, скрипт мог бы присвоить X соответствующее значение,

после чего скрипт мог бы продолжить выполнение, приняв решение

относительно того, какой из вариантов действий выбрать, основываясь

на значении (т.е. типе окна), хранящемся в переменной. К счастью,

Jaws имеет возможность заглянуть в операционную систему Windows,

и такой тип решений, основанный на типе окна, это в точности та

работа по принятию решений, которую непрерывно выполняет Jaws. В

следующий раз, при запуске того же самого скрипта, мы можем

оказаться в другом типе окна, и, следовательно, в переменной будет

храниться другое значение. Поэтому скрипт может предпринять

совершенно другое действие, соответствующее данному типу окна. Еще

раз повторим, что скриптам часто приходится принимать решения, и

значение, хранящееся в переменной, это один из способов решить, что

делать дальше.

 

Константы - это совершенно другое дело, поскольку, как явствует из

их названия, они по ходу дела не изменяют своего значения. Если

константе присвоено значение, оно остается постоянным. Это может

показаться просто пустой тратой времени, но на самом деле это очень

удобно. Константы - это способ использования легко запоминающихся

имен для хранения труднозапоминаемых строк символов или чисел.

Предположим, например, что наш друг Джо имеет номер социальной

безопасности 589-43-3894. Далее, предположим, что нам нужно

работать с десятью человеками, и у каждого, или у каждой, будет свой

номер социальной безопасности. Мы можем просто задать константу,

присвоив ей имя JoeSecNum, а затем поместить его номер социальной

безопасности в эту константу, воспользовавшись равенством

JoeSocSecNum=589433894. С другими лицами и их номерами

социальной безопасности можно проделать нечто аналогичное. Затем,

когда нам понадобится отпечатать номер социальной безопасности, все

что нам нужно сделать, это запросить у программы отпечатать

константы номера социальной безопасности для каждого из десяти

человек. Поскольку JoeSocSecNum запомнить гораздо легче, чем

589-43-3894, мы можем изрядно облегчить себе жизнь,

воспользовавшись константой, вместо того, чтобы пытаться запомнить

длинный ряд чисел. Jaws очень часто выполняет такую работу, и вот о

чем мы говорим, когда говорим о константах применительно к языку

скриптов Jaws.

 

В том случае, если вы еще немного путаетесь в переменных и

константах, давайте воспользуемся другой аналогией, которая должна

помочь прояснить их немного лучше. Всем нам знакомы телефоны, в

которых для набора номера используется цифровая клавиатура. Кроме

цифр от 0 до 9 и нескольких клавиш со специальными символами,

некоторые телефоны имеют несколько программируемых клавиш, с

помощью которых можно сохранить целые телефонные номера,

которые мы набираем часто. Можно, например, за одной из таких

кнопок закрепить номер телефона продавца программного обеспечения,

и затем, чтобы сделать заказ, достаточно будет нажать одну кнопку, а

не искать номер. Теперь, цифры от 0 до 9 можно рассматривать как

константы, поскольку их значение никогда не изменяется. Первая

кнопка на верхнем ряду - это всегда единица, поэтому она является

константой. Программируемые кнопки можно изменять произвольно, и

они будут содержать новые номера. Например, вы можете изменить

кнопку продавца программного обеспечения на новый телефонный

номер, если компания переедет на новое место. Поскольку эти

программируемые кнопки можно произвольно менять, они больше

похожи на переменные, и их можно изменить таким образом,: что они

будут содержать информацию, в которой мы наиболее нуждаемся в

данный момент времени. Переменные в скриптах именно таковы и

есть. Они могут меняться по мере необходимости, или пользователем,

или автоматически самим скриптом, в зависимости от обстоятельств.

 

Структура руководства

 

Как мы уже говорили, отдельные скрипты Jaws сгруппированы в

файлы, которые называются файлами скриптов. Данное руководство

содержит всю информацию, которая может вам понадобиться для

написания своих собственных скриптов и группировки их в файлы,

которые ваш компьютер будет использовать всякий раз, когда вы

запустите приложение.

 

Часть I: начало работы со скриптами

 

Скрипты: краткий обзор

 

Предположим, вы работаете в приложении, которое выводит на нижней

строке окна описание каждого пункта меню. Если для зрячего

пользователя назначение данного конкретного пункта меню будет

неясным, он просто взглянет вниз, и прочитает, что написано на

нижней строке. Можно, конечно, включить Jaws курсор, переместиться

в нижнюю строку окна и прочитать ее, но не проще ли было бы

просто нажать горячую клавишу, чтобы прочитать текст подсказки? А

как насчет того, чтобы Jaws озвучивал эту информацию

автоматически? И, конечно, вам захочется иметь возможность включать

и выключать такое автоматическое чтение. Что ж, если для

приложения, с которым вы работаете, был бы написан файл скриптов,

и если бы в этом файле был скрипт, выполняющий эту работу за вас,

вы могли бы иметь такой вид удобного доступа. Если никто не создал

для вас такого особенного скрипта, вы могли бы создать его сами,

имея в виду, что вы узнали, как пользоваться языком скриптов Jaws

для построения своих собственных скриптов. Такой улучшенный

доступ помог бы увеличить эффективность работы с этой программой

до степени зрячего пользователя и это увеличило бы вашу

производительность.

 

Что такое файлы скриптов?

 

Jaws всегда находится под управлением скриптов. Как мы уже

обсуждали, скрипт - это небольшая компьютерная программа, которая

видоизменяет работу Jaws для каждой конкретной ситуации. Файлы

скриптов Jaws - это наборы отдельных скриптов, которые загружаются

для работы с данным конкретным приложением Windows. Jaws

автоматически загружает эти файлы скриптов всякий раз, когда вы

открываете новое приложение. Очень важно понять, что есть два типа

файлов скриптов: Default (по умолчанию) и Application (для

приложений). Файлы скриптов можно представить в виде стога сена,

при чем файл скриптов по умолчанию (default) находится в основании.

Файл скриптов по умолчанию загружается при запуске Jaws и

является активным во всех сессиях. Файл скриптов для приложения

размещается поверх файла скриптов по умолчанию, когда приложение

загружается. Jaws знает, какой файл скриптов приложения загружать,

потому что главная часть имени файла скриптов для приложения (т.е.

его часть без расширения) является той же, что и имя самого

приложения. Таким образом, наш файл скриптов по умолчанию

называется default.jss, а приложение spreadsheet.exe будет иметь файл

скриптов spreadsheet.jss. Когда вы закроете данное конкретное

приложение, конкретный файл скриптов, который с ним использовался,

будет выгружен и активными станут все настройки по умолчанию,

пока не будет загружен другой файл скриптов приложения. Файл

скриптов по умолчанию, который загружается, когда вы впервые

запускаете Jaws, содержит сотни скриптов. Эти скрипты предоставляют

Jaws всю информацию, в которой он нуждается для обеспечения

речевого вывода в большинстве ситуаций. Этот файл сообщает Jaws,

что говорить и когда говорить в большинстве обстоятельств, когда вы

работаете с приложениями, которые ведут себя хорошо. Однако, во

многих приложениях часто возникают ситуации, которые отклоняются

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

экрана требуется настраивать. Если такое происходит, то может

возникнуть необходимость создать файл скриптов только для данного

приложения. Если такой файл скриптов был создан и он находится в

подкаталоге, в котором находятся все файлы конфигурации Jaws, тогда

при запуске этого приложения будет загружаться и файл скриптов.

Именно этот файл скриптов Jaws будет искать в первую очередь, когда

вы воспользуетесь какой-либо комбинацией клавиш, или когда

возникнет ситуация, которая потребует вызова событийных функций,

описанных выше. Если файл скриптов приложения не содержит

скрипта, соответствующего ситуации, тогда Jaws будет обращаться к

файлу по умолчанию. Если в одном из этих мест скрипт будет найден,

он будет выполнен, как только будет найден, и никакой другой

обработки не потребуется. Если ни там, ни там не будет найдено

соответствующего скрипта, тогда Jaws передаст нажатие клавиш

приложению, и эта комбинация клавиш будет выполнена таким

образом, как если бы JaWS ВООБЩЕ НЕ БЫЛ ЗАГРУЖЕН. Эта

иерархия является очень важной. Если конкретный скрипт,

существующий в файле скриптов по умолчанию, для используемого

приложения не подходит, пользователь может поместить собственную

версию этого скрипта в файл скриптов приложения, и эта версия будет

иметь приоритет перед той, которая имеется в файле скриптов по

умолчанию. Поскольку скрипты, расположенные выше в нашем стоге

сена, имеют приоритет, скрипт в файле скриптов приложения будет

выполняться вместо того, который имеется в файле скриптов по

умолчанию, если они оба закреплены за одной и той же комбинацией

клавиш, и функция в файле скриптов приложения будет вызываться,

имея приоритет перед той, которая вызывается в файле скриптов по

умолчанию, если обе они имеют одно и то же имя. Например, это

означает, что если у вас есть в файле скриптов приложения скрипт,

закрепленный за клавишей Ctrl+G, а в файле скриптов по умолчанию

у вас также есть скрипт, прикрепленный к Ctrl+G, то когда вы

нажмете Ctrl+G, будет выполнен тот, который находится в файле

скриптов приложения. Не имеет значения даже и то, что оба эти

скрипта могут иметь разные имена. Определение того, какой скрипт

будет выполняться, зависит от привязке к клавишам. Если вы

попытаетесь закрепить скрипт за клавишей, которая уже используется

в файле скриптов по умолчанию, пользуясь редактором скриптов Jaws,

больше известным как диспетчер скриптов (Script manager), то вы

получите предупреждение, и у вас будет две возможности: продолжить

закрепление, или закрепить свой скрипт за другой клавишей. Это

сделано для того, чтобы предотвратить случайное отключение скриптов

в файле скриптов по умолчанию, без осознания того, что вы наделали.

 

Есть несколько важных соображений по поводу того, как следует

называть скрипты и за какими клавишами их закреплять. Если, с

одной стороны, пользователь присваивает своему скрипту имя,

отличное от того, которое использовано в файле скриптов по

умолчанию, тогда пользователь также может закрепить скрипт в файле

скриптов приложения за той же клавишей, что и в файле скриптов по

умолчанию, без особых противоречивых последствий. С другой стороны,

если пользователь присваивает скрипту в файле приложения то же

имя, что и в файле по умолчанию, то даже нет необходимости

закреплять этот скрипт приложения за определенной клавишей. В

обоих случаях Jaws выполнит скрипт, имеющийся в файле скриптов

приложения, и проигнорирует тот, который имеется в файле скриптов

по умолчанию. Это происходит потому, что Jaws ищет и файл

раскладки клавиатуры по умолчанию default.jrm, и файл раскладки

клавиатуры приложения application.jkm чтобы узнать, не закреплен ли

скрипт с конкретным именем за клавишей, когда эта клавиша

нажимается. Jaws будет всегда выполнять скрипт из файла скриптов

приложения, предпочитая его скрипту из файла скриптов по

умолчанию, даже если закрепление за клавишей сделано в файле

default.jkm. Другими словами, если в обоих файлах скриптов имеется

скрипт с одним и тем же именем, а закрепление за клавишей сделано

в файле скриптов по умолчанию, Jaws все равно будет знать, что ему

полагается выполнить скрипт из файла скриптов приложения.

 

Функции

 

поскольку они не привязаны к клавишам, приходится использовать

другой механизм. Если скрипт является функцией, и, следовательно, не

привязан к клавише, тогда функция с конкретным именем в файле

скриптов приложения будет работать вместо той, которая имеется в

файле скриптов по умолчанию и имеет то же самое имя. Таким

образом, в случае с функциями, результат определяет имя, а не

клавиша. Заметьте, что речь идет об особом случае, который имеет

место, если у вас есть скрипт в файле скриптов по умолчанию и

скрипт в файле скриптов приложения, при чем оба скрипта имеют

одно и то же имя, и которые не привязаны к клавишам. В этом

случае Jaws использует имя скрипта чтобы определить, какой из них

является активным, и скрипт в файле скриптов приложения будет

иметь приоритет перед скриптом с тем же именем в файле скриптов

по умолчанию. Следовательно, в этом особом случае, скрипты, не

связанные с клавишами, задают приоритеты тем же способом, что и

функции. Таким образом, если, например, скрипт запускается с


Дата добавления: 2015-11-04; просмотров: 12 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.066 сек.)







<== предыдущая лекция | следующая лекция ==>