Обмен данными между 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 файле
MACROMEDIA FLASH MX
Macromedia Flash MX - лучший на сегодняшний день пакет программ для реализации ваших фантазий во Flash.
Основные особенности новой версии Macromedia Flash MX - поддержка стандартов ECMAScript, HTML, MP3, Unicode и XML
Macromedia Flash MX - возможность импорта видео в форматах MPEG, DV (Digital Video), MOV и AVI,
Macromedia Flash MX значительно улучшил инструменты для работы с графикой и динамической загрузки изображений и звука.
Скачать редактор Macromedia Flash MX можно на официальном сайте MACROMEDIA