Просмотр полной версии : Как передать данные из Flash в Javascript?
Добрый день!
Как известно, в Flash существует вызов скрипта
GetURL("javacsript:Some_Function(Some_Data)");
Но под Some_Data подразумеваются непосредственно данные. А если данные хранятся в Flash-переменной, то как тут быть - неясно.
Будьте добры, подскажите, какие методы кроме
SetVariable
сущесвуют в JavaScript для обмена данными с Flash и как они работают.
Заранее благодарен!
Hi !
1.
getURL ("javacsript:Some_Function('"+Some_flasfvar+"','"+Second_flasfvar+"')");
2. SetVariable нужен для передачи данных не из флеша в яваскрипт, а наоборот - из яваскрипта во флеш
3. "другие" - http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/
Кстати там есть GetVariable которая как раз передает данные из флеша в яваскрипт. Основное отличие от getURL javacsript в том что GetVariable передает данные по инициативе яваскрипта (браузера), а getURL - по инициативе флеша :)
PS "другие" не будут работать в mac\IE, NN6 и Опере и будут жутко глючить во всех отстальных браузерах. Грубо говоря если есть хоть минимальная возможность нужно стараться обходится без "других" :)
Слушай, Ilya, а конструкция-то
getURL ("javacsript:Some_Function('"+Some_flasfvar+"')");
не работает, т.к. флеш автоматически, видя, что кавычки рядом с плюсами - вторые, ставит перед ними \. В результате указанный выше код просто невозможен в окне сценариев. Отображается же следующее:
getURL ("javacsript:Some_Function('\"+Some_flasfvar+\"')");
При этом JScript получает (что очевидно) конструкцию вида "+Some_flashvar+", а о значение остается сидеть в фильме.
Однако, стоит отдать должное, я все-таки выбил из Флеша эту переменную: надо сказать, GetVariable работает как часы.
Спасибо за ссылку - там я нашел буквально все что надо!
Hi !
т.е. как я понимаю поставить галочку "Expression" напротив строки урл лень ? :)
Привет.
Это я тоже проехал.
Ежели ставишь галочку напротив URL, от кавычки пропадают со всего выражения
javascript:Somr_func...
А в этом случае ссылка вообще перестает работать.
Вот такая возня...
Hi !
Я конечно понимаю что лень это великое дело, но не до такой же степени :)
Неужели тяжело сначала все тщательно проверить, а потом делать глобальные заявления насчет "не работает" ? :)
У всех значит работает, а у монсиньора Rouslan нет.
Весело :)
Илья, огромное спасибо, я разобрался.
Итак, на всякий случай, итоговая схема:
Общий вид передачи данных в функцию Some_Function:
getURL ("javascript:Some_Function('Some_Text')");
Однако, если Some_Text записан в какой-то переменной (допустим, Some_Var), то ее следует внедрить в ссылку след. обр.:
getURL ("javascript:Some_Function('" + Some_Var + "')");
При этом все кавчки прописываем вручную, т.е. ставим флажок перед Expression (я именно с этим почему-то долго возился...).
Rouslan
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.