Я сталкиваюсь с проблемой и не знаю, как ее решить в jQuery.
Моя цель - написать расширенную функцию, заменяющую функцию Facebook callSWF.
Facebook callSWF run like that: **domObj.callSWF("myFunctionName", param1, param2 ... paramx);**
СейчасМне нужно заменить эту функцию.Для jQuery я могу вызвать Flash через JS следующим образом:
if($('#swfObj')[0])
{
$('#swfObj')[0].myFunctionName(param1, param2 ...);
}
else
{
$('#swfObj').myFunctionName(param1,param2 ...);
}
Однако это означает, что мне нужно поменять на 50+ разных мест, что предыдущий вызов callSWF, и заменить этот блок кода другимимена функций.это не хорошо.
так что, я решил написать расширение.в идеале я могу позвонить так:
$ ('# 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 будет отличаться в зависимости от функции флэш-памяти, с которой я собираюсь общаться.
Например, я могу сделать это:
**$('#swfObj').callSWF("showMyName", 'whatever');**
**$('#swfObj').callSWF("anotherFunction", 1234);**
**$('#swfObj').callSWF("yetAnotherFunction", 'kbieure');**
Есть идеи?спасибо.