当jQuery引用.swf时,如何调用Actionscript函数?

时间:2009-09-24 19:35:20

标签: jquery flash actionscript-2 externalinterface

我有一个.swf,我使用jQuery SWF Object插件(http://jquery.thewikies.com/swfobject)嵌入到HTML中。我在.swf中有许多函数需要在javascript函数中调用。我通过调用flash.external.ExternalInterface.addCallback()使javascript可以访问这些actionscript函数。然而,当我打电话时没有任何反应。我之前发生过这种情况,似乎是当你从jQuery引用.swf时,你无法调用flash函数。反正有这个(除了不使用jQuery)?

感谢。

4 个答案:

答案 0 :(得分:3)

我从未使用过jquery swfobject插件,但是如果你在嵌入代码中添加一个id参数,你可以通过

访问swf
swf = 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中