Question

J'ai un .swf que je suis en Embedding HTML en utilisant le plugin objet SWF jQuery ( http: // jquery .thewikies.com / swfobject ). J'ai un certain nombre de fonctions au sein de la .swf que je dois appeler à partir de fonctions javascript. Je l'ai fait ces fonctions actionscript accessibles à javascript en appelant flash.external.ExternalInterface.addCallback (). Pourtant, rien ne se passe quand je fais l'appel. J'ai eu auparavant et il semble être que lorsque vous faites référence à la .swf de jQuery, vous ne pouvez pas appeler des fonctions flash. Y at-il de toute façon autour de cette (en dehors de ne pas utiliser jQuery)?

Merci.

Était-ce utile?

La solution

J'ai eu le même problème. Vous pouvez utiliser $('#myflashelement').context.myactionscriptfunction(arg) pour le fixer. Pour plus de commodité, je fait un « plug-in » 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).

Autres conseils

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

swf = document.getElementById("player"+i);
swf.callToFlash();
$('#myflashElement')[0].myASFunction(var1, var2);

fonctionne pour moi

$('#id_you_gave_swfobject').your_externalInterface_callback();

Dans jQuery

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top