Det finns många webb - programmering situationer som kräver information skickas mellan klient - side Javascripts och inbäddad flash innehåll . Innan lanseringen av Flash 8 , kunde programmerare använder metoder som getURL ( ) och SetVariable ( ) . Däremot omfattar lanseringen av Flash 8 en ny klass särskilt ägnas kommunicera med funktioner utanför Flash ( se Referenser 1 ) . Använda klassen ExternalInterface i Flash 8 är nu det mest effektiva sättet att integrera Flash i en webbplats som använder Javascript . Saker du behöver
Adobe Flash Professional CS5
Textredigerare
Visa fler instruktioner
1
Ställ in följande parametrar mellan "objektet" taggar i den inbäddade koden av HTML-dokumentet :
Detta kommer att säkerställa att din Flash-film kommer att tillåtas att kommunicera med Javascript medan du testar det lokalt ( se referenser 1, sid 2 ) . När du publicerar , kan du ändra värdet till " sameDomain " för att förhindra missbruk av SWF-filen genom tredje parts webbplatser .
2
Inkludera ExternalInterface klassen i ActionScript-koden på din Flash-fil med följande kommando : . .
import flash.external *;
( se referenser 1 , sid 5 ) Addera 3
Skriv en JavaScript-funktion i HTML- dokument som tar minst ett argument och returnerar ett värde . Du behöver inte skriva någon speciell Javascript-kod för att kalla denna funktion från Flash 8 .
4
Använd ExternalInterface.call ( ) metoden i ActionScript för att ringa din Javascript -funktionen från den inbäddade Flash-filmen . Den första parametern i denna metod är den Javascript funktionens namn som en sträng , och du kan följa den med så många parametrar som du vill passera utanför den funktionen , alla åtskilda av kommatecken . En allmän form av denna ansökningsomgång är :
ExternalInterface.call ( FunctionName , parameter1 , parameter2 , ... ) katalog
( se referenser 1, sid 5 )
5 .
Använd en normal variabeltilldelning operatör i ActionScript-koden för att hämta returvärdet från JavaScript-funktionen , precis som du gör med någon funktion :
ReturnedValue = ExternalInterface.call ( FunctionName , parameter1 , parameter2 , . .. ) ,
6
använda ActionScript s Typecasting metoder på ExternalInterface samtalet om du stöter på problem med den typ av värde Javascript avkastning. Int ( ) och String ( ) är typiska exempel ( se Referenser 2 ) .
7
Använd addCallback ( ) metoden i klassen ExternalInterface att göra metoder i ActionScript tillgängliga för externa Javascripts ( se Referenser 1 , sid 6 ) . Den addCallback ( ) metoden har följande allmänna form :
ExternalInterface.addCallback ( ExternalName , instans , InternalName ) katalog
ExternalName är det namn som funktionen kan anropas från Javascript och InternalName är namnet på funktionen i Actionscript . Den " dom " parameter används för att ange upplösningen av " detta " nyckelordet , och är vanligtvis satt till " null " .
8
Ring din ActionScript-funktion från JavaScript med namnet du angav för " ExternalName " i addCallback metoden , föregås av ett giltigt DOM hänvisning till Flash- filmen . Till exempel :
window.document.flashMovie.flashFunctionName ( parameter1 , parameter2 , ... ) ;
Se avsnittet Resurser för en mer ingående diskussion om giltiga DOM referenser , och vara se till att testa din kod i flera webbläsare för att se Flash-filmen refereras korrekt .