A C T I O N    &    S C R I P T
ТЕРМИНЫ  •  MOVIE  •  ACTION SCRIPT  •  КОМАНДЫ  •  ВЫРАЖЕНИЯ  •  ОПЕРАТОРЫ  •  ФУНКЦИИ  •  ОБМЕН ДАННЫМИ
 

Обмен данными между Flash и JavaScript: - Большинство задач решаемых раньше JavaScript с гораздо большим успехом выполнит Flash. При этом на конкретный проект будет затрачено меньше времени и решаются проблемы графической совместимости в разных броузерах. Но иногда Web-мастеру проще часть задачи переложить на JavaScript или, например VB. В этом случае возникает необходимость организовать обмен данными между Flash и собственно скриптом на странице.
Давайте посмотрим, каким образом можно добиться желаемого результата.

Решить проблему взаимодействия данных, поможет действие FS Command.
Реализация действия основано на стандартной возможности обмена данными по единому потоку. Рассмотрим это на конкретном примере :
Создадим проект, состоящий из одного кадра, в котором находятся два текстовых поля и кнопка, при нажатии на которую, текст с одного поля копируется в другое. Но при этом, происходит не простое присвоение данных текстовому полю, а их передача броузеру и последующее присвоение значению второго текстового поля с использованием JavaScript. Подобным образом можно обеспечить передачу и обработку данными между Flash-фильмами находящимся на одной странице или в разных фреймах.
Предположим, что у нас два текстовых поля с именами text1 и text2. Создадим необходимый скрипт для кнопки :
- Выберите действие FS Command
- В поле Command вводим имя команды, которое будет использоваться для идентификации
- В поле Arguments указываем передаваемые данные
Следует заметить, что в оба поля можно вводить как обычную информацию, так и генерируемую динамически.
Существует еще выпадающее меню For standalone player, которое используется для управления Flash проектором при публикации в независимом приложении :
fullscreen - в полный экран при значении True
allowscale - включает режим изменения размера при True
showmenu - разрешить показ меню при нажатии правой кнопкой мыши (True)
guit - выход и закрытие проектора
exec - запускает внешнее приложение - в нашем случае скрипт будет следующим:
On (Release)
FS Command ("dates", text1)
End On

Необходимо немного поработать с html кодом страницы. В тег EMBED добавьте имя проекта например :
NAME="FlashToJava"
Оно будет использоваться для идентификации в скрипте броузера. Кроме того, нужно включить обмен данных для Flash проекта (в том же теге) :
swLiveConnect="true"
Обмен данных с JavaScript происходит с помощью функции Name_DoFSCommand, где Name имя присвоенное Flash проекту.
Для выполнения задачи поставленной в начале описания потребуется следующий скрипт:
function FlashToJava_DoFSCommand(command, argument) {
if (command=="dates") document.FlashToJava.SetVariable("text2", argument)
}

Корректная обработка данного скрипта происходит в Netscape, в EI5 обмен данными станет возможен, только после добавления дополнительного скрипта на VB :
Sub FlashToJava_FSCommand(ByVal coms, ByVal arg)
call FlashToJava_DoFSCommand(coms, arg)
end sub

Но сюрпризы различия броузеров на этом не заканчиваются !
Русский текст передается только в EI, поэтому применять обмен данными без дополнительных ухищрений реально для числовых и англоязычных данных.

Конвертирование кодов ASCII в буквы - Flash может конвертировать коды ASCI в буквы, и наоборот. Функция Chr конвертирует коды ASCII в буквы. Например функция Chr (65) = "A" переконвертирует цифру 65 в букву "A". Функция Ord конвертирует буквы в ASCII коды. Например. функция Ord(a) = 97 переконвертирует букву "a" в цифру 97.

Пароли и безопасность информации В вопросах безопасности Flash полагается на стандарты броузера и HTTP-протокола. Если Вы хотите поддерживать безопасность паролей во Flash, Вы должны организовать их проверку через запрос к серверу.
По существу, Flash обеспечивает ту же защиту что и стандартный HTML. Вам просто надо следовать тем же самым правилам, которых придерживаются при создании безопасных HTML-страниц. Запросите пароль от пользователя и после его ввода отошлите на сервер, используя оператор Load Variables с параметром Send using POST через HTTPS: URL. Удаленный сервер смог бы затем проверить, имеет ли пароль силу. Таким образом пароль не будет доступен в SWF файле.



 




   •  home  •  about  •  presentation  •   •  contact  •  web-design  •  site map  •