Лайтбоксы: как анализировать динамически загружаемое HTML-содержимое лайтбокса (AJAX)

Я использую (модальный) лайтбокс на странице своего веб-сайта для отображения моих узлов.

Я использую некоторые плагины, такие как внешний jquery-плагин для всплывающих подсказок и плагин drupal jQuery Media (для загрузки флэш-плеера для некоторых полей видеофайлов).

Эти плагины загружаются при загрузке главной страницы и анализируют HTML-содержимое страницы.

Когда я динамически загружаю лайтбокс (и использую AJAX для обновления его содержимого) HTML внутри лайтбокса не анализируется ... поэтому нет всплывающих подсказок, нет видео.

как я могу это решить? Должен ли я снова запускать плагины с помощью функции обратного вызова Lightbox? Или лучше использовать вместо лайтбокса что-нибудь другое?

Спасибо


person aneuryzm    schedule 16.05.2010    source источник


Ответы (1)


Эти плагины загружаются при загрузке главной страницы и анализируют HTML-содержимое страницы.

Если эти плагины реализованы как Drupal.Behaviors (как должны, вместо того, чтобы просто запускать .ready() или .onload()), вам просто нужно вызвать Drupal.attachBehaviors(yourAjaxResponseContent) для динамически загружаемого содержимого. См. http://drupal.org/node/205296 и http://drupal.org/node/114774#javascript-behaviors для получения дополнительной информации об этом механизме.

Если плагины не используют маршрут Drupal.behavior, вам необходимо либо изменить их для этого (рекомендуется), либо вручную запустить их для самостоятельной обработки нового контента.

person Henrik Opel    schedule 17.05.2010
comment
хорошо спасибо. Итак ... скажем, я установил плагин jQuery Media, который анализирует мою страницу html, чтобы заменить некоторые ссылки на flash-видеоплеер. Я не писал для него никакого кода javascript, он автоматически запускает мой Drupal. Как я могу вызвать его, когда лайтбокс загружен с помощью Drupal.Behaviors? - person aneuryzm; 17.05.2010
comment
Извините, я не знаю деталей плагина jQuery Media, поэтому я не могу сказать, использует ли он Drupal.behaviors или нет, и не могу предоставить подробные инструкции. В очереди задач модулей есть проблема, которая намекает на проблемы в этом контенте: drupal.org/node/557882 - может это поможет. - person Henrik Opel; 17.05.2010