Er zijn veel web - programmering situaties die vragen om inlichtingen worden doorgegeven tussen client - side javascripts en ingesloten Flash-inhoud . Voor de release van Flash 8 , kon programmeurs methoden zoals getURL ( ) en SetVariable ( ) te gebruiken . Echter , de release van Flash 8 bevat een nieuwe klasse specifiek gewijd aan de communicatie met functies buiten Flash ( zie Referenties 1 ) . Met behulp van de klasse ExternalInterface in Flash 8 is nu de meest effectieve manier om Flash te integreren in een website die gebruik maakt van Javascript . Wat je nodig hebt Adobe Flash Professional CS5 Tekst editor Toon Meer Aanwijzingen 1 Stel de volgende parameter tussen de " object" tags in de embed code van uw HTML-document : Dit zal ervoor zorgen dat uw Flash-film zal worden toegestaan om te communiceren met Javascript terwijl je testen het lokaal ( zie Referenties 1 , pagina 2 ) . Wanneer u publiceert , kunt u de waarde op " sameDomain " veranderen om misbruik van uw SWF-bestand te voorkomen door websites van derden . Kopen van 2 Neem de klasse ExternalInterface in de Actionscript code van uw Flash-bestand met het volgende commando : . . import flash.external * ; ( zie Referenties 1 , pagina 5 ) 3 Schrijf een Javascript -functie in uw HTML-document dat ten minste een argument neemt en geeft een waarde . U zult geen behoefte aan een speciale Javascript code om deze functie aan te roepen vanaf Flash 8 te schrijven . 4 Gebruik de methode ExternalInterface.call ( ) in uw Actionscript om je Javascript functie aan te roepen vanaf de geïntegreerde Flash-film . De eerste parameter van deze methode is de naam van de Javascript -functie als een string , en je kunt het volgen met zoveel parameters als je wilt naar buiten door te geven aan de functie , alle gescheiden door komma's . Een algemene vorm van deze oproep is : ExternalInterface.call ( FunctieNaam , Parameter1 , Parameter2 , ... ) op Twitter ( zie Referenties 1 , pagina 5 ) op Twitter 5 . Gebruik een normale variabele opdracht operator in uw Actionscript code om de return waarde van de Javascript -functie te halen , net zoals u zou doen met een functie : ReturnedValue = ExternalInterface.call ( FunctieNaam , Parameter1 , Parameter2 , . .. ) ; 6 Gebruik Actionscript 's typecasting methoden op de ExternalInterface gesprek als je in de problemen met het type waarde Javascript rendementen . Int ( ) en String ( ) zijn typische voorbeelden ( zie referenties 2 ) . 7 Gebruik de methode van de klasse ExternalInterface addCallback ( ) om methoden te maken in uw Actionscript toegankelijk voor externe Javascripts ( zie Referenties 1 , pagina 6 ) . De methode addCallback ( ) heeft de volgende algemene vorm : ExternalInterface.addCallback ( ExternalName , aanleg , InternalName ) ExternalName is de naam waarmee de functie kan worden aangeroepen vanuit Javascript en InternalName is de naam van de functie in Actionscript . De parameter " aanleg " wordt gebruikt om de resolutie van het "dit" zoekwoord opgeeft , en is meestal ingesteld op " null " . 8 Bel uw Actionscript functie van Javascript gebruik van de naam die u hebt opgegeven voor " ExternalName " in de addCallback methode , voorafgegaan door een geldige DOM verwijzing naar de Flash-film . Bijvoorbeeld : window.document.flashMovie.flashFunctionName ( Parameter1 , Parameter2 , ... ) ; Zie het gedeelte Bronnen voor een meer diepgaande bespreking van geldige DOM referenties , en worden Zorg ervoor dat u uw code te testen in meerdere browsers te zorgen voor de Flash-film wordt correct verwezen .
|