Просмотр полной версии : Как можно в flash-ролик передать какие-нибудь переменные?
Как можно в flash-ролик передать какие-нибудь переменные?
Можно ли это как-то сделать через javascript функцию
(типа: <a href="javascript:send_id_pres(1);">link</a>)
Tyler Durden
29.06.2004, 19:12
:confused: На самом деле сам интересуюсь этим вопросом. Как можно из JavaScript'a передать переменные во Flash...? Неужели никто не знает?!!
Я слышал что-то про Active X и т.д. Это еще в хелпе по Флэшу написано... Но ничего конкретного...
можна :D
несколькими способами:
1. через сервер и класс LoadVars (вариант c LoadVariables тоже работает)
2. через сервер и класс XML
3. через яваскрипт в id либо name внедренного объекта (не работает в Опере)
4. через actionscript:... что-то там -- посмотрите в мануале
5. можно ещё делать file.swf?var1=ttt -- в тех местах внедренного документа, где написано file.swf...
может я ещё не все способы написал..... посмотрите мануал -- там все подробно и с примерами :cool:
Tyler Durden
30.06.2004, 19:08
Спасибо! Но только ничего не выходит...
Предположим, что в фильме js_test.swf есть поле динамического текста pole1. Фильм уже загружен в броузер.
<OBJECT classid="..." codebase="..." id="js_test">
<EMBED src="js_test.swf" NAME="js_test"></EMBED>
</OBJECT>
Также допустим, что на HTML-страничке, в которую загружен js_test.swf, есть кнопка. При нажатии на эту кнопку содержимое поля pole1 должно принимать значение, к примеру, "Knopka nazhata!"...
Вопрос в том, как обратиться к переменной pole1 фильма js_test.swf? Через id и name не получается... То есть
<input type="button" value="Test" onClick="document.js_test.pole1.value = 'Knopka nazhata!'"> не работает...
Что-то все это как-то неправдоподобно, чтобы так просто можно было передавать значения переменным во Flash'е из броузера... Или я не прав? :)
<input type="button" value="Test" onClick="document.js_test.SetVariable('pole1','Kno pka')"/>
и все заработает
(по моему я это в стандартной документации прочитал ;-)
Tyler Durden
05.07.2004, 11:24
Благодарю тебя, любезный соотечественник... Все заработало!
А можно как-то передать переменную в флеш через параметр? Например <param name=menu value=false> Вырубает меню флеша.
Как передать переменную при загрузке ролика. Например есть ролик, в нём два языка. RU и EN. Мне надо переменная lang.
Как мне сделать что-то такое <param name=lang value=en>
И как мне её вытащить в флеше?
ищешь file.swf в html коде (2 места), меняешь его на file.swf?lang=en
во флеше обращаешься к переменной lang как _root.lang, то есть как к обычной :)
Оригинал написал(а) wwwita
ищешь file.swf в html коде (2 места), меняешь его на file.swf?lang=en
во флеше обращаешься к переменной lang как _root.lang, то есть как к обычной :)
или воспользоваться параметром тега <OBJECT> под названием
FLASHVARS (см. документацию по публикации в браузере на сайте макромедии)
<param name="flashvars" value="lang=ru&v1=321&v2='some+value'"/>
в качестве альтернативы к "file.swf?lang=en" такой вариант имеет некоторые преимущества, как-то:
позволяет использовать swf сохраненный в кеше браузера,
строка может быть длиной до 64kb (в отличие от 256b)
строки создаются до начала проигрывания 1 кадра
доступ к переменным, как и в предыдущем случае, из корня swf-ки
Я могу обновлять переменные в flash'е. А как мне сделать так чтобы вызвалось какое-нибудь событие или фунция Flash из JavaScript. мне надо чтобы перерисовался flash с новыми данными.
Оригинал написал(а) dimka_b
Я могу обновлять переменные в flash'е. А как мне сделать так чтобы вызвалось какое-нибудь событие или фунция Flash из JavaScript. мне надо чтобы перерисовался flash с новыми данными.
идем сюда
http://www.macromedia.com/support/flash/publishexport.html
а точнее сюда
http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/index.html
и скорее всего сюда
http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html
удачи !
FreeLander
17.07.2004, 12:51
на самом деле там нет методов вызова функции ролика из JavaScript. Я, например, делаю следующим образом: отслеживаю какую-нидь переменную в ролике при помощи watch, т.е. прикрепляю функцию на событие изменения этой переменной, т.о. изменяя эту переменную при помощи setVariable из Явы, я инициирую выполнение функции.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.