我面临着一个挑战,不知道如何在jQuery中解决这个问题。
Facebook callSWF run like that: **domObj.callSWF("myFunctionName", param1, param2 ... paramx);**
现在,我需要替换那个函数。对于jQuery,我可以这样通过JS调用Flash:
if($('#swfObj')[0])
{
$('#swfObj')[0].myFunctionName(param1, param2 ...);
}
else
{
$('#swfObj').myFunctionName(param1,param2 ...);
}
但是,这意味着我必须更改50多个以前调用“callSWF”的不同位置,并用这个具有不同函数名的代码块替换。那不好。
$('35; swfObj').callSWF(“myFunctionName”,param1,param2…);
我开始写这个函数并卡住了。。。。这是我目前的代码:
(function( $ ){
$.fn.callSWF = function(swfFuncName, param1) {
if($(this)[0])
{
$(this)[0].**swfFuncName**(param1);
}
else
{
$(this).**swfFuncName**(param1);
}
return this;
};
})( jQuery );
我不知道该怎么做的是。。。动态地传递函数名(swf函数名)。因此,swfFuncName将根据我要与之通信的flash函数而有所不同。
**$('#swfObj').callSWF("showMyName", 'whatever');**
**$('#swfObj').callSWF("anotherFunction", 1234);**
**$('#swfObj').callSWF("yetAnotherFunction", 'kbieure');**
知道吗?谢谢。