PDA

Просмотр полной версии : Openlaszlo + JS


Powerhead
07.03.2007, 14:24
Друзья, подскажите, каким образом можно управлять методами флешки, написанной на openlaszlo, из javascript? В частности, мне нужно, чтобы флешка знала о ресайзе окна броузера и прорисовывала скролы.

MyXus
07.03.2007, 14:26
Хрен ево знает что за опенласЗло, но если эта флешка - нормальная флешка, то стандартно..
Я делал вызовом геттера с помощью setVariable..

Powerhead
07.03.2007, 14:28
Ну, setVariable только переменную установит, да? А вызвать какой-нибудь метод как?

MyXus
07.03.2007, 14:29
блин. гаварю же. Пишешь геттер.
Знаешь что такое геттер?

Powerhead
07.03.2007, 14:31
Не знаю. Да и геттер твой, наверное, на actionscript пишется? В openaszlo нет actionscript.
Как он пишется, покажи плз.

MyXus
07.03.2007, 14:32
Ну да, на action script. А какие методы ты собрался вызывать без AS ?

MyXus
07.03.2007, 14:34
Вот кусок из моего классаpublic function set currentPos(value:String):Void {
if(this.ns.time == undefined) { return; }
getURL('javascript:flashCallback("'+this.ns.time+'")');
}Это сеттер. Вызываетс из js f.setVariable("currentPos", null)

index
08.03.2007, 22:08
Можно так:
1. во флешке, создаешь пустой клип, даешь ему имя 'mc'
2. во втором кадре этого клипа пишешь код, например:
if(_root.par!=undefined){
trace(_root.par);
}

3.эту флешку вставляешь в HTML и даешь имя 'mov'
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ID="mov"
4. теперь из JScript, ты можешь обратится к этому клипу и выполнить функцию таким способом:

this['mov'].SetVariable("_root.par","
this['mov'].TCallFrame("_root.mc",1);

//-----------------------------

чтобы флешка знала о ресайзе окна броузера и прорисовывала скролы передай ей вместо
"Hello World" нужный параметр

//----------------------------------------------------
можно также использовать класс flash.external и его метод

ExternalInterface.addCallback

Powerhead
10.03.2007, 15:11
Спасибо, ребята, попробую.
Вообще, решил делать эту штуку на flex, а там можно юзать actionscript, так что должно быть несложно.