2009-09-24 6 views
2

J'ai un fichier .swf que j'introduis en HTML en utilisant le plugin jQuery SWF Object (http://jquery.thewikies.com/swfobject). J'ai un certain nombre de fonctions dans le fichier .swf que j'ai besoin d'appeler depuis les fonctions javascript. J'ai rendu ces fonctions actionscript accessibles à javascript en appelant flash.external.ExternalInterface.addCallback(). Pourtant, rien ne se passe quand je fais l'appel. J'ai déjà eu cela avant et il semble que lorsque vous référencez le fichier .swf de jQuery, vous ne pouvez pas appeler les fonctions Flash. Y at-il de toute façon autour de cela (en dehors de ne pas utiliser jQuery)?Comment puis-je appeler une fonction Actionscript lorsque le fichier .swf est référencé par jQuery?

Merci.

+0

Avez-vous comprendre cela? J'ai vraiment besoin d'aide à ce sujet. –

Répondre

1

j'avais le même problème. Vous pouvez utiliser $('#myflashelement').context.myactionscriptfunction(arg) pour le réparer. Pour plus de commodité, j'ai fait « plug-in » un jQuery pour les appeler et de ne pas compter sur context dans tout mon code:

(function ($) { 
    $.fn.callAS = function() { 
     var func = arguments[0]; 
     var args = Array.prototype.slice.call(arguments, 1); 
     return this.context[func].apply(this.context, args); 
    }; 
})(jQuery); 

Vous pouvez l'appeler avec $('#myflashelement').callAS('myactionscriptfunction', arg).

+0

Je ne comprends pas. Pouvez-vous expliquer à ce sujet? –

3

Je ne l'ai jamais utilisé le plugin swfobject jquery mais si vous donnez ajouter un paramètre id dans le code embed vous pouvez accéder au swf par

swf = document.getElementById("player"+i); 
swf.callToFlash(); 
0
$('#id_you_gave_swfobject').your_externalInterface_callback(); 

Dans jQuery

+0

Que voulez-vous dire? –

1
$('#myflashElement')[0].myASFunction(var1, var2); 

fonctionne pour moi

Questions connexes