Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как передать данные из Flash в Javascript? (http://www.flasher.ru/forum/showthread.php?t=25671)

Rouslan 11.01.2002 22:19

Как передать данные из Flash в Javascript?
 
Добрый день!

Как известно, в Flash существует вызов скрипта

GetURL("javacsript:Some_Function(Some_Data)");

Но под Some_Data подразумеваются непосредственно данные. А если данные хранятся в Flash-переменной, то как тут быть - неясно.

Будьте добры, подскажите, какие методы кроме

SetVariable

сущесвуют в JavaScript для обмена данными с Flash и как они работают.

Заранее благодарен!

Ilya 12.01.2002 01:52

Hi !

1.
getURL ("javacsript:Some_Function('"+Some_flasfvar+"','"+Second_flasfvar+"')");

2. SetVariable нужен для передачи данных не из флеша в яваскрипт, а наоборот - из яваскрипта во флеш
3. "другие" - http://www.macromedia.com/support/fl...tingwithflash/

Кстати там есть GetVariable которая как раз передает данные из флеша в яваскрипт. Основное отличие от getURL javacsript в том что GetVariable передает данные по инициативе яваскрипта (браузера), а getURL - по инициативе флеша :)

PS "другие" не будут работать в mac\IE, NN6 и Опере и будут жутко глючить во всех отстальных браузерах. Грубо говоря если есть хоть минимальная возможность нужно стараться обходится без "других" :)

Rouslan 12.01.2002 03:31

А вот кстати GetURL-то в таком виде и не пашет...
 
Слушай, Ilya, а конструкция-то

getURL ("javacsript:Some_Function('"+Some_flasfvar+"')");

не работает, т.к. флеш автоматически, видя, что кавычки рядом с плюсами - вторые, ставит перед ними \. В результате указанный выше код просто невозможен в окне сценариев. Отображается же следующее:

getURL ("javacsript:Some_Function('\"+Some_flasfvar+\"')");

При этом JScript получает (что очевидно) конструкцию вида "+Some_flashvar+", а о значение остается сидеть в фильме.

Однако, стоит отдать должное, я все-таки выбил из Флеша эту переменную: надо сказать, GetVariable работает как часы.

Спасибо за ссылку - там я нашел буквально все что надо!

Ilya 12.01.2002 04:53

Hi !

т.е. как я понимаю поставить галочку "Expression" напротив строки урл лень ? :)

Rouslan 12.01.2002 12:08

Тогда вообще все валится
 
Привет.

Это я тоже проехал.

Ежели ставишь галочку напротив URL, от кавычки пропадают со всего выражения

javascript:Somr_func...

А в этом случае ссылка вообще перестает работать.
Вот такая возня...

Ilya 12.01.2002 13:56

Hi !

Я конечно понимаю что лень это великое дело, но не до такой же степени :)
Неужели тяжело сначала все тщательно проверить, а потом делать глобальные заявления насчет "не работает" ? :)
У всех значит работает, а у монсиньора Rouslan нет.
Весело :)

Rouslan 12.01.2002 16:36

ОКОНЧАТЕЛЬНЫЙ ИТОГ
 
Илья, огромное спасибо, я разобрался.

Итак, на всякий случай, итоговая схема:

Общий вид передачи данных в функцию Some_Function:

getURL ("javascript:Some_Function('Some_Text')");

Однако, если Some_Text записан в какой-то переменной (допустим, Some_Var), то ее следует внедрить в ссылку след. обр.:

getURL ("javascript:Some_Function('" + Some_Var + "')");

При этом все кавчки прописываем вручную, т.е. ставим флажок перед Expression (я именно с этим почему-то долго возился...).

Rouslan


Часовой пояс GMT +4, время: 23:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.