Сначала я проверил этот вопрос:
Вызов функции jQuery из Flash
если у нас есть плагин jQuery следующего стиля:
(function(){
$.fn.pluginName = function () {
var methods = {
init: function ( options ) {
var settings = $.extend( {}, {}, options ); // set your own defaults
$('#flash')[0].initialise(settings);
},
initialised: function ( params ) {
console.log(params);
}
};
var method = 'init', args = [];
if(0 < arguments.length) {
if('object' === typeof(arguments[0])) {
args = arguments;
} else if('undefined' !== typeof(methods[arguments[0])) {
args = Array.prototype.slice.call(arguments);
args.shift();
method = arguments[0];
}
methods[ method ].apply( this, args );
}
return this;
};
})(jQuery);
И скажем, мы инициализируем встроенный flash-объект с id = "flash" и затем вызываем:
$('#controller').pluginName('init',{});
и дождитесь, пока вспышка перезвонит.
Если бы я написал функцию, например ::
function flashCallBack( data ) {
$('#controller').pluginName('init',data);
}
тогда я мог бы зарегистрировать эту функцию в AS3, но есть ли способ вызвать метод плагина непосредственно для соответствующего объекта без необходимости писать функцию-оболочку, такую как описанная выше, в глобальном пространстве имен?
Это не сработало:
ExternalInterface.call("$('#controller').pluginName('initialised',"+data+")");
как строка с именем функции на флэш-памяти, а также:
ExternalInterface.call("$('#controller').pluginName('initialised')",data);
Может ли кто-нибудь указать мне правильное направление, как этот вызов может быть сделан напрямую, или уточнить, если это просто не поддерживаемая операция?
Доброе спасибо :)
AE