Fancybox: вызов родительской функции из iframe

Я использую Fancybox 2.

Я пытаюсь найти способ получить информацию от родителя из окна iframe. Вот моя ситуация:

  1. открыть iframe Fancybox из родителя

  2. после открытия iframe пользователь нажимает кнопку. Для этого щелчка требуется информация от родителя, для чего я надеюсь вызвать функцию в родительском элементе. Обратите внимание, что нажатие этой кнопки не должно закрывать iframe.

Это что-то выполнимое в Fancybox 2? Я прочитал много сообщений в SO и не могу понять это.

Спасибо за любую помощь!!!


person curious1    schedule 06.09.2014    source источник


Ответы (1)


Если на вашей родительской странице у вас есть эта функция

function fnParent() {
    // returns some data 
};

... изнутри страницы iframe вам просто нужно вызвать эту функцию, например:

parent.fnParent();

Обратите внимание: если вы откроете fancybox в режиме iframe, любое взаимодействие или click события внутри iframe никогда не закроют fancybox, если только один щелкнутый элемент не вызовет метод parent.jQuery.fancybox.close().

Также обратите внимание, что для iframe-страницы может потребоваться включить jQuery и собственные скрипты и функции для обработки ответа от родительской страницы.

См. JSFIDDLE.

person JFK    schedule 07.09.2014