JQuery, Drupal Modal Frame API, предотвращающий рекурсивную загрузку всплывающих окон при событии .ready - PullRequest
1 голос
/ 17 сентября 2010

Я создаю сайт с использованием drupal, где я бы хотел, чтобы мои новые пользователи создавали свои профили при первом входе в систему после регистрации.

Для этого я использую API ModalFrame.На данный момент я создал специальную роль для «новичков» пользователей, которой они назначаются после регистрации на моем сайте.

Я проверяю в своем коде назначение роли «первый таймер» и использую API ModalFrame, чтобы открыть модальное диалоговое окно.Мое намерение состоит в том, чтобы назначить другую роль, как только пользователь завершит свой профиль.

Поскольку я хотел бы, чтобы это диалоговое окно появлялось без взаимодействия с пользователем, я использую событие ready в своем коде jquery.1008 *

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

Мой вопрос: как лучше всего предотвратить это рекурсивное поведение?

1 Ответ

0 голосов
/ 28 сентября 2010

вставьте это перед обработчиком готовности.

// set the ready handler only for the parent frame
if (window.location == window.parent.location)
    $('body', context).ready(Drupal.modalFrameRegister.loadURL);
...