J'utilise un objet swf pour intégrer un swf. J'essaie d'utiliser l'interface externe pour appeler une fonction flash de JS, mais j'ai des problèmes. J'ai cherché tous les docs, lu une tonne de choses, et je suis convaincu que je le fais bien. Quelqu'un peut-il indiquer où le problème pourrait être?Obtenir une interface externe pour travailler avec un objet swf, ne peut pas comprendre ce que je fais mal
var flashvars = {};
var params = {wmode:"opaque", allowscriptaccess:"always" };
var attributes = {id:"MySwf", name:"MySwf"};
swfobject.embedSWF("MySwf.swf", "flashContent", "600", "400", "9.0.0", "swfs/expressInstall.swf", flashvars, params, attributes,function(e){
if(e.success){
_flashRef = e.ref;
testExternalInterface();
}else{
alert("We are sorry, flash is required to view this content.");
}
});
function testExternalInterface(){
var swf = document.getElementById("MySwf");
swf.sendMeTheGoods("TEST TEST");
};
ci-dessus est la fonction de code embed et js dans mon flash je
if (ExternalInterface.available)
{
trace("adding external interface");
ExternalInterface.addCallback("sendMeTheGoods", sendMeTheGoods);
}
public function sendMeTheGoods(text:String):void
{
trace("setting vars")
trace(text);
txtYouSent.text = text;
}
Je reçois l'erreur Uncaught TypeError: Object # n'a pas de méthode 'sendMeTheGoods'
I » J'ai essayé de référencer document.getElementById ("MySwf"); et document.getElementById ("flashContent"); et j'ai l'erreur dans les deux sens. Aucune suggestion?
Juste curieux, dans la fonction de rappel, le paramètre d'événement 'e' a une référence à l'objet Flash, est-ce utile? L'événement possède également une propriété 'id' que vous pouvez vérifier pour confirmer le bon identifiant. Enfin, vous semblez spécifier deux ID différents: un dans l'objet 'attributes' et un autre dans le second param de' swfobject.embedSWF() '. –
Merci, c'est vrai, je l'ai corrigé, mais j'ai toujours le même problème – user379468