2014-02-12 7 views
1

Я использую fancybox, чтобы показать страницу (скажем, child.htm) на другой странице (parent.htm).FancyBox - Обновить родительскую страницу при нажатии кнопки

Я знаю, как автоматически reload the parent page after closing the iFrame:

$(".fancybox").fancybox({ 
    afterClose : function() { 
     location.reload(); 
     return; 
    } 
}); 

Однако мое требование является более специфичным. Мне нужно закрыть iframe, а затем перезагрузить родительскую страницу (parent.htm) только тогда, когда пользователь нажимает кнопку (например: нажатие кнопки «ОК» присутствует в child.htm).

Проблема с фрагментом кода, который у меня есть, заключается в том, что родительская страница перезагружается, даже когда я нажимаю значок закрытия или когда я нажимаю где-либо вне рамки. Это то, что я хочу ограничить. Моя задача - вызвать обновление страницы только при нажатии кнопки.

ответ

0

Я хотел бы попробовать что-то вроде этого:

$('.fancybox').fancybox({ 
     href : 'child.html', 
     type : 'iframe',  
     afterShow: function(){  
     $('.fancybox-iframe').contents().find('#button').click(function(){ 
      // do something 
      ... 

      // reload parent window and close fancybox 
      window.parent.location.reload(); 
      window.parent.$.fancybox.close(); 
     }); 
     } 
}); 
Смежные вопросы