Инициирование флеш-события из jquery - PullRequest
1 голос
/ 29 октября 2011

Я действительно пытаюсь освоить все это, и меня удивило, что создание блога по сути требует от меня изучения PHP / JS / Jquery / MySQL / AS / и т. Д. и т.д.

Сообщество программистов чрезвычайно щедро предлагает решения, но я постоянно упускаю из виду: , где код для размещения, и базовое описание , почему . Я хотел бы учиться таким образом, чтобы я мог понять.

Моя текущая проблема - отличный пример. По сути, я пытаюсь выяснить, как вызвать определенный кадр во флэш-SWF из jQuery - у меня есть SWF, который я хотел бы запустить в определенном месте, когда подключаемый модуль лайтбокса закрывается.

Теперь я наткнулся на SO сообщение здесь:

Триггерный объект флэш-кнопки через JavaScript

Есть несколько других, но это показалось мне самым ясным. Однако, как обычно, я смотрю на код и не совсем уверен, куда он идет, как он связан или как он функционирует.

В текущем плагине jQuery, который я использую, функция, которая, как представляется, связана с закрытием окна лайтбокса (чётное изображение, с которого я хочу запустить), состоит из двух файлов: файла ядра и файла оболочки, и выглядит так:

CORE

onClose : noop,
----------------------------------
Line 142: S.close = function () {
----------------------------------
Line 157:   S.options.onClose(S.getCurrent());
Line 158:   S.skin.onClose();
-----------------------------------
Line 497:       a = S.close;

SKIN

var overlayOn = false, visibilityCache = [], pngIds = ["sb-nav-close", "sb-nav-next", "sb-nav-play", "sb-nav-pause", "sb-nav-previous"], container, overlay, wrapper,     doWindowResize = true;
-----------------------------------
toggleNav("close", n);
-----------------------------------
<a id="sb-nav-close" title="{close}" onclick="Shadowbox.close()"></a>
<a id="sb-nav-close" title="{close}" onclick="Shadowbox.close()"></a>
<a id="sb-nav-close" title="{close}" onclick="Shadowbox.close()"></a>
-----------------------------------
addEvent(overlay, "click", S.close)
-----------------------------------
K.onClose = function () {
-----------------------------------
removeEvent(overlay, "click", S.close);

Теперь ТАК сообщение, на которое я ссылался ...

Мне кажется, что вы создаете функцию в ActionScript SWF-файла, затем добавляете возможность вызова этой функции с помощью ExternalInterface (хотя я понятия не имею, как соотносится addCallback), а затем последняя часть кода действительно заставляет меня чесать голову: получает ли он идентификатор SWF-файла и выполняет ли в нем функцию?

Учитывая все это, я до сих пор не знаю даже, где разместить такой код в файлах jQuery, на которые я ссылался выше. Если я хочу, чтобы плагин jQuery запускал определенную функцию в ActionScript, когда пользователь закрывает лайтбокс, было бы целесообразно поместить код в S.close, S.skin.onClose, в файл скина? В основном файле? В отдельном файле .js, который я вызываю в заголовке страницы, который будет выполнять эту функцию каждый раз, когда происходит закрытие?

У меня кружится голова.

Спасибо за эту страницу, это отличный ресурс.

-

...