2010-03-18 24 views

cevap

7

Evet, ExternalInterface sınıfı aracılığıyla.

Flash film içinden JavaScript çağrı yapmak ve gönlünüzce sayfa hakkında hiçbir bilgileri geri alabilirsiniz.

function foo(bar,type) { 
    // do something with bar and type 
} 
:

böyle istemci sayfasında bir JS işlevi olduğunu varsayalım: bir yıl ve daha sonraki bir buçuk bu baktığımızda

Ek

i bazı örnekler eklemeye karar

Sen şöyle Flash (kullanarak AS3) dan diyoruz:

ExternalInterface.call(foo, bar, type); 

İşlev adının ilk nesne olduğunu ve argümanların daha sonra sırayla listelendiğini unutmayın. (Sayfasındaki JavaScript yılında

application1_applicationCompleteHandler(event:Event) { 
    // the app has finished loading, so do whatever we 
    // have to do on load, plus add that callback 
    ExternalInterface.addCallback(foo, bar); 
} 

public function bar(arg1, arg2) : void { 
    // do something with arg1 and arg2 
} 

bunu böyle çağırmak:

Eğer Flash veya Flex (yine AS3) yapardı, JavaScript dışında Flash filmin bir yöntem göstermek için myMovie SWF'nizin ID) 'dir ki burada: addCallback yöntemde

myMovie.foo(anArg, anotherArg); 

, ilk değişken fonksiyonunun dış adıdır ve ikinci bağımsız olarak adlandırılan alacak kapaktır.

+0

nasıl bir dom nesneden özniteliği alma hakkında? Örnek:

'? Veri özniteliğini nasıl alabilirim? – Sisir

3

Bildiğim kadarıyla hayır, ama belli ki o DOM kendisine erişebilir içeren belgede, içinde javascript yürütebilirsiniz.

+0

Ana belgede bazı AJAX çağrıları varsa, Flash nesnesiyle bir şekilde iletişim kurabilir miyim? – devviedev

İlgili konular