Flash et Javascript sous IE7
Bonjour,
Voilà, j'ai une animation Flash laquelle doit être influencée en javascript par un simple bouton. Par influencée, je veux dire qu'une fonction ActionScript 2.0 doit être executée. Pour cela j'ai utilisé ExternalInterface.addCallBack(). Cela marche parfaitement sur Firefox deuxième du nom, mais sur IE 7 j'ai une belle erreur "Cet objet ne gère pas cette propriété ou cette méthode". J'ai cru comprendre que pour que cela marche sur IE7 il fallait rajouter un timer et eviter de nommer la fonction AS comme la fonction JS, ce que j'ai fait, mais rien
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<script type="text/javascript">
function callExternalInterface(element) {
document[element].jsAction();
}
</script>
<embed id="root" width="304" height="60" allowscriptaccess="always" quality="high" bgcolor="#EDE9E7" name="root" src="anim.swf" type="application/x-shockwave-flash"/>
<button onClick="callExternalInterface('root');">Clic</button> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
import mx.controls.Alert;
import flash.external.*;
delInterval = setInterval(doExternalInterface, 700);
function doExternalInterface():Void {
clearInterval(delInterval);
ExternalInterface.addCallback("jsAction", null, flAction);
}
function flAction():Void {
Alert.show('ok');
} |
Voyez-vous où j'ai pu me planter?
Merci.
EDIT : Je tiens à préciser que je n'ai commencé à coder en ActionScript que très récemment
javascript vers flash sous Firefox
Bonjour,
je pense que ton problème viens du code javascript que tu utilise pour accéder à ton animation Flash. "document[element]" ne permet d'accéder à du flash que lorsque l'on est sous IE.
Pour y accéder depuis Firefox, il faut utiliser "document.embeds[element]".
Regarde là, c'est expliqué plus en détail :
http://www.permadi.com/tutorial/flashjscommand
Martin