Comment puis-je appeler une fonction Actionscript lorsque le .swf est référencé par jQuery?
-
16-09-2019 - |
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.
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