PDA

Просмотр полной версии : Javascript to Flash Локально. 8 плеер.


Lexandr
16.12.2005, 13:22
Господа, подскажите, каким образом передать параметры из js в swf, но не в сети а локально. Flash player 8.0

Стандартный пример типа window.document.flash.SetVariable('variable', value); работает только если html и swf выложить в сеть, а мне нужнео именно чтобы это все работало с CD.
Какие мысли? :confused:

KPaul
16.12.2005, 13:34
Все должно быть очень просто.
Если мы имеем js, то подразумеваю, что можем иметь немного html.
Для того чтобы поместить туда swf, которая будет выполнять ф-цию посредника между js и основной флешкой с помощью localConnection.

js -(1)> proxy_swf -(2)> main_swf
1 - можно посмотреть готовые решения на osflash.org для общения js-swf.
2 - LocalConnection - в любой книге по флешу.

KPaul
16.12.2005, 13:36
Сорри забыл что речь о восмерке - можно использовать встроенный ExternalInterface для общения с js.

Lexandr
16.12.2005, 14:04
А каким образом передать данные proxy swf, чем она принципиально отличается не от прокси?

Можно где-то готовый пример посмотреть для локального использования?

KPaul
16.12.2005, 14:15
Тем что если нет флешки встроенной в html окружение, никак нельзя
манипулировать ей с помощью js. Если брать чисто web, без всяких html application(hta) с расшириными правами, то грубо говоря js это часть браузера и его права распространяются только на html содержимое.

Вот пример ExternalInterface :
\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\ExternalAPI

А лучше нажать F1 для вызова хелпа и дальше "поиск".

Lexandr
16.12.2005, 14:21
Будет ли работать данная конструкция с плеером 6 и 7 или только 8?

Видимо я неправильно описал исходные данные. У меня плеер 8.0, а сам Flash MX 2004. В нем можно это сделать?

KPaul
16.12.2005, 14:33
ExternalInterface появился только в среде Flash 8 и поддерживается только
начиная с 8 плеера.

Для такого рода общения в более ранних версиях используют разные подходы типа JavaScript Kit и тд. Смотри на osflash.org там куча интересных проектов в том числе несколько по js->swf общению.

Lexandr
16.12.2005, 19:07
мда, сложновато. Ничего подобного не нашел.. Загружаю 1 раз флешку и потом надо по клику передавать ей разные параметры, но уже не загружая флэш еще раз.

KPaul
19.12.2005, 14:21
"Flash JavaScript Integration Kit"
http://www.osflash.org/flashjs

Но если проект небольшой можно применить довольно стандартное решение:
Поместить proxy в iframe. С помощью js перегружать iframe, таким образом передавая proxy необходимые данные а по localConnection отдаем их
основной флешке. iframe можно сделать небольшого размера невидимым и
с минусовой позицией координат.

Эта схема хоть и кажется немного грубой, но работает хорошо.

KPaul
19.12.2005, 14:49
"Flash JavaScript Integration Kit"
http://www.osflash.org/flashjs

Но если проект небольшой можно применить довольно стандартное решение:
Поместить proxy в iframe. С помощью js перегружать iframe, таким образом передавая proxy необходимые данные а по localConnection отдаем их
основной флешке. iframe можно сделать небольшого размера невидимым и
с минусовой позицией координат.

Эта схема хоть и кажется немного грубой, но работает хорошо.

KPaul
19.12.2005, 15:48
"Flash JavaScript Integration Kit"
http://www.osflash.org/flashjs

Но если проект небольшой можно применить довольно стандартное решение:
Поместить proxy в iframe. С помощью js перегружать iframe, таким образом передавая proxy необходимые данные а по localConnection отдаем их
основной флешке. iframe можно сделать небольшого размера невидимым и
с минусовой позицией координат.

Эта схема хоть и кажется немного грубой, но работает хорошо.