![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Sep 2003
Сообщений: 5
|
Нутром чую, что задаю очевидный вопрос, но всё-таки: каким образом можно экспортировать из мувика функцию и поюзать ее из джаваскрипта? Пока я додумался, только делать SetVariable, а в watch на нее делать то, что требуется, но что-то это уж очень криво... |
|
|||||
|
Регистрация: Sep 2003
Сообщений: 5
|
Не, в эту-то сторону я понял - мне нужно наоборот AS-функции вызывать из JS. То есть у меня на странице есть flash-овый объект, и вот когда я нажимаю html-ную кнопку, я его показываю (ну, это из JS) и хочу вызвать его функцию (load-что-то-там). Пока единственный способ, которым я смог что-то подобное получить - это делать для мувика setVariable для передачи параметров и потом (вот изврат-то) setVariable для вызова watch на него (например, setVariable('initial_connect') и внутри на изменение этой переменной коннекчусь) - ну очень криво выходит
![]() |
|
|||||
|
Регистрация: Sep 2003
Сообщений: 5
|
Вот пара ссылок по теме:
http://www.xs4all.nl/~ppk/js/flash_call.html http://www.darkbackward.com/flashMAC/MACtalk.zip - какой-то хитрый пример Здесь http://macrofun.pvpers.com/archives/000035.html товарищ тоже предлагает вызывать функции через setVariable (приятно, когда сам додумываешься до правильного решения), однако не очень онятно как это он через одну переменную передает несколько параметров, так как даже массивы передаются как одна строка. По мотивам его исходников я пришел вот к чему: javascript: function CallFlash(function_name, parameters)
{
var movie = document.all('EditorMovie');
movie.setVariable('_root.function_params', parameters);
movie.setVariable('execute_function', function_name);
}
this.watch("execute_function", ExecFunction);
function TestFunc(s, x)
{
_root.Log.text = 'In the test: S=' + s + ', X=' + x;
}
function ExecFunction(prop, oldval, newval, userData)
{
//eval(newval + '(' + _root.function_params + ')');
eval(newval)(_root.function_params);
_root.function_params = null;
}
по имени возвращает. А то можено было бы сделать, скажем, CallFlash('TestFunc', '"Some Text", 117'); К сожалению распарсить строку по отдельным переменным, видимо, нельзя, а массивы собираются точно в такую же строку. Есть у кого-нибудь мысли по этому поводу? |
|
|||||
|
Регистрация: Sep 2003
Сообщений: 5
|
Попробую сформулировать-таки вопрос:
Как бы так передавать параметры из JS в AS одной строкой или еще какой структурой, так чтобы на стороне AS их разобрать можно было по переменным? |
![]() |
Часовой пояс GMT +4, время: 10:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|