J'utilise Flash pour jouer un MovieClip .flv sur mon site, mais je veux que l'envoi .swf déclenche un événement dans mon javascript quand il commence à charger, commence à jouer et finit de jouer. Quelle est la meilleure façon de faire cela dans Flash CS3 en utilisant Actionscript 3.0?Comment puis-je faire cs3 flash, actionscript envoyer des événements à javascript?
Répondre
Vous devez utiliser la variable flash "allowScriptAccess" dans le code HTML. Vous voulez probablement utiliser "sameDomain" comme type. Notez que si vous allez sur un autre domaine, vous devez également héberger un fichier spécial sur le serveur appelé 'crossdomain.xml' qui permet un tel script (le lecteur flash le vérifiera.) Plus d'infos sur http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14213&sliceId=2
L'appel est . la partie facile :-) Dans le code flash, vous utiliserez le ExternalInterface pour faire l'appel, comme l'indique ici:
Version courte: vous dites que
ExternalInterface.call ("javascriptFunction", "argument")
Une façon courante de faire cela est avec la classe ExternalInterface, que vous pouvez utiliser pour appeler des 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>
Ensuite, modifiez votre code ActionScript pour appeler la méthode JavaScript au moment opportun:
// inform JavaScript that the FLV has started playing
ExternalInterface.call("startsPlaying");
Pour plus d'informations, voir le Flash en relation CS3 documentation.
si vous ne voulez pas charger
import flash.external.*;
donc vous pouvez aussi faire un
getUrl("javascript:startsPlaying();");