我有一个.swf,我使用jQuery SWF Object插件(http://jquery.thewikies.com/swfobject)嵌入到HTML中。我在.swf中有许多函数需要在javascript函数中调用。我通过调用flash.external.ExternalInterface.addCallback()使javascript可以访问这些actionscript函数。然而,当我打电话时没有任何反应。我之前发生过这种情况,似乎是当你从jQuery引用.swf时,你无法调用flash函数。反正有这个(除了不使用jQuery)?
感谢。
答案 0 :(得分:3)
我从未使用过jquery swfobject插件,但是如果你在嵌入代码中添加一个id参数,你可以通过
访问swfswf = document.getElementById("player"+i);
swf.callToFlash();
答案 1 :(得分:1)
我遇到了同样的问题。您可以使用$('#myflashelement').context.myactionscriptfunction(arg)
来修复它。
为方便起见,我制作了一个jQuery'插件'来调用它们,并且不依赖于context
我的所有代码:
(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);
您可以使用$('#myflashelement').callAS('myactionscriptfunction', arg)
调用它。
答案 2 :(得分:1)
$('#myflashElement')[0].myASFunction(var1, var2);
适合我
答案 3 :(得分:0)
$('#id_you_gave_swfobject').your_externalInterface_callback();
在jQuery中