Hvordan bruke Javascript med Flash
Det er mange web-programmering situasjoner som krever informasjon som skal sendes mellom klient-side Javascripts og innebygd Flash-innhold. Før utgivelsen av Flash 8, kan programmerere bruke metoder som getURL () og setVariable (). Men utgivelsen av Flash 8 inneholder en ny klasse viet spesielt til å kommunisere med funksjoner utenom Flash (se referanser 1). Bruke ExternalInterface klasse i Flash 8 er nå den mest effektive måten å integrere Flash i en webside som bruker Javascript.
Bruksanvisning
1 Sett følgende parameter mellom "objekt" tags i koden i HTML-dokumentet:
<Param name = "allowScriptAccess" value = "always" />
Dette vil sikre at din Flash filmen vil få lov til å kommunisere med Javascript mens du teste den lokalt (se referanser 1, side 2). Når du publiserer, kan du endre verdien til "samedomain" for å hindre mistenkelig bruk av SWF-fil av tredjeparts nettsteder.
2 Inkluder ExternalInterface klasse i Actionscript-koden din Flash-fil med følgende kommando:
import flash.external. *;
(Se referanser 1, side 5).
3 Skriv en Javascript-funksjonen i HTML-dokument som tar minst ett argument og returnerer en verdi. Du trenger ikke å skrive noen spesiell Javascript-kode for å kalle denne funksjonen fra Flash 8.
4 Bruk ExternalInterface.call () metoden i Action å ringe Javascript-funksjonen fra den innebygde Flash movie. Den første parameteren med denne metoden er Javascript-funksjonen navn som en streng, og du kan følge den med så mange parametere som du ønsker å passere utenfor til funksjonen, alle atskilt med komma. En generell form for denne samtalen er:
ExternalInterface.call (function, parameter1, parameter2, ...)
(Se referanser 1, side 5).
5 Bruk vanlig variabel oppdrag operatør i Actionscript-koden for å hente returverdien fra Javascript-funksjonen, akkurat som du ville gjort med en hvilken som helst funksjon:
ReturnedValue = ExternalInterface.call (function, parameter1, parameter2, ...);
6 Bruk Actionscript er typecasting metoder på ExternalInterface samtale hvis du får problemer med den type verdiJavaScript avkastning. Int () og String () er typiske eksempler (se referanser 2).
7 Bruk addCallback () metoden i ExternalInterface klassen å gjøre metoder i Actionscript tilgjengelige for eksterne Javascripts (se referanser 1, side 6). Den addCallback () metoden har følgende generelle form:
ExternalInterface.addCallback (ExternalName, Instance, Internt navn)
ExternalName er det navn som funksjonen kan kalles fra Javascript, og Internt navn er navnet på funksjonen i Actionscript. Den "Forekomst" parameteren brukes til å angi oppløsningen av "denne" søkeord, og er vanligvis satt til "null".
8 Ring Action funksjon fra Javascript bruke navnet du angav for "ExternalName" i addCallback metoden, innledes med en gyldig DOM referanse til Flash movie. For eksempel:
window.document.flashMovie.flashFunctionName (parameter1, parameter2, ...);
Se Resources for en mer inngående drøfting av gyldige DOM referanser, og sørg for å teste koden i flere nettlesere for å sikre Flash-filmen er referert riktig.