Comment puis-je faire de flash cs3, actionscript envoyer des événements de javascript?
-
09-06-2019 - |
Question
Je suis à l'aide de Flash pour jouer un .flv movieclip sur mon site, mais je veux avoir le .swf envoyer déclenchement d'un événement dans mon javascript quand il de commencer le chargement, la lecture commence et se termine à jouer.
Quelle est la meilleure façon de le faire que dans Flash CS3 à l'aide d'Actionscript 3.0 ?
La solution
Vous devez utiliser le "allowScriptAccess" flash variable dans le code HTML.Vous voudrez probablement utiliser "sameDomain" comme type.Notez que si vous allez inter-domaine, vous avez également besoin d'héberger un fichier sur le serveur appelé "crossdomain.xml' qui permet à un tel script (le flash player vérifiez pour cela.Plus d'infos au http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2
L'appel est la partie facile.:-) Dans le code Flash, vous allez utiliser la ExternalInterface à faire l'appel, comme indiqué ici:
Version courte:vous dites
ExternalInterface.call("javascriptFunction", "argument")
Autres conseils
Une façon courante de le faire est avec l' ExternalInterface de la classe, que vous pouvez utiliser pour appeler les méthodes JavaScript.
D'abord définir vos méthodes JavaScript, par exemple:
<script language="JavaScript">
function startsPlaying()
{
// do something when the FLV starts playing
}
</script>
Modifiez ensuite votre code ActionScript à l'appel de la méthode JavaScript au moment opportun:
// inform JavaScript that the FLV has started playing
ExternalInterface.call("startsPlaying");
Pour plus d'informations, reportez-vous à la Flash CS3 la documentation.
si vous ne voulez pas charger
import flash.external.*;
ainsi, vous pouvez également faire une
getUrl("javascript:startsPlaying();");