Sådan bruges Javascript Med Flash

May 15

Der er mange web-programmering situationer, der kræver oplysninger, der skal videregives mellem klient-side Javascripts og embedded Flash-indhold. Før udgivelsen af ​​Flash 8, kunne programmører bruger metoder som getURL () og setVariable (). Men udgivelsen af ​​Flash 8 omfatter en ny klasse viet specifikt til at kommunikere med funktioner uden for Flash (se Referencer 1). Brug af ExternalInterface klasse i Flash 8 er nu den mest effektive måde at integrere Flash til et websted, der bruger Javascript.

Instruktioner

1 Indstil følgende parametre mellem "objekt" tags i indlejre kode på din HTML-dokument:

<Param name = "allowScriptAccess" value = "altid" />

Dette vil sikre, at din Flash-film vil være tilladt at kommunikere med Javascript mens du teste den lokalt (se Referencer 1, side 2). Når du publicerer, kan du ændre værdien til "sameDomain" for at forhindre ondsindet brug af din SWF fil ved tredjeparts websteder.

2 Medtag ExternalInterface klasse i Actionscript kode din Flash-fil med følgende kommando:

import flash.external *.;

(Se Referencer 1, side 5).

3 Skriv en JavaScript-funktion i dit HTML-dokument, der tager mindst ét ​​argument og returnerer en værdi. Du behøver ikke at skrive nogen særlig Javascript kode for at kalde denne funktion fra Flash 8.

4 Brug ExternalInterface.call () metoden i din Actionscript at ringe til din Javascript funktion fra den integrerede Flash-film. Den første parameter i denne metode er den Javascript funktionens navn som en streng, og du kan følge den med så mange parametre som du ønsker at passere uden at funktionen, alle adskilt af kommaer. En generel form for denne indkaldelse er:

ExternalInterface.call (functionName, Parameter1, Parameter2, ...)

(Se Referencer 1, side 5).

5 Brug en normal variabel tildelingsoperatoren i din Actionscript kode til at hente returværdien fra Javascript-funktion, ligesom du ville gøre med enhver funktion:

ReturnedValue = ExternalInterface.call (functionName, Parameter1, Parameter2, ...);

6 Brug ActionScript s typecasting metoder på ExternalInterface opkald, hvis du løber ind i problemer med den type værdi Javascript afkast. Int () og String () er typiske eksempler (se Referencer 2).

7 Brug addCallback () -metoden af ​​ExternalInterface klasse til at gøre metoder i din Actionscript tilgængelige for eksterne Javascripts (se Referencer 1, side 6). Den addCallback () metode har følgende generelle form:

ExternalInterface.addCallback (ExternalName, instance, InternalName)

ExternalName er det navn, som funktionen kan kaldes fra Javascript, og InternalName er navnet på den funktion i Actionscript. Den "Forekomst" parameter bruges til at angive opløsningen af ​​"denne" søgeord, og er normalt sat til "null".

8 Ring til din Actionscript funktion fra Javascript med det navn, du angav for "ExternalName" i addCallback metoden, foranstillet et gyldigt DOM reference til Flash-film. For eksempel:

window.document.flashMovie.flashFunctionName (Parameter1, Parameter2, ...);

Se afsnittet Ressourcer for en mere indgående drøftelse af gyldige DOM referencer, og sørg for at teste din kode i flere browsere til at sikre, at Flash-film er refereret korrekt.


relaterede artikler