Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   fancybox перезагрузка страницы при выходе (https://javascript.ru/forum/misc/75658-fancybox-perezagruzka-stranicy-pri-vykhode.html)

boroda4 27.10.2018 12:38

fancybox перезагрузка страницы при выходе
 
Всем привет!

Есть два файла page1.php и page2.php.
В page1.php есть запуск fancybox посредством строки:

<a href="javascript:displaylightbox('page2.php',{})" target="_self"><img src='images/img.jpg' width = "40", height = "24"></a>


Сам fancybox описан на странице page1.php:

<script>
function displaylightbox(url, options)
{
    options.width = 800;
    options.height = 800;
   options.padding = 0;
   options.autoScale = true;
   options.closeBtn = false;
   options.href = url;
   options.type = 'iframe';
   $.fancybox(options);
}
</script>


Все работает, все отлично, в fancybox открывается содержимое страницы page2.php. Вопрос такой, как сделать так, чтобы при закрытии fancybox (нажатием на крестик или вне fencybox) обновилась бы страница page1.php?

В java не силен, особенно в синтаксисе, поэтому буду благодарен если ответ будет не поверхностный. Спасибо!

рони 27.10.2018 12:51

boroda4,
добавить в строку 3
options.afterClose = function() {
   window.location.href = window.location.href; 
}

boroda4 27.10.2018 13:10

не сработало, не перегружается страница page1 (

рони 27.10.2018 13:25

boroda4,
fancybox версия какая?

рони 27.10.2018 13:29

boroda4,
afterClose замените на onClosed если версия 1

boroda4 27.10.2018 13:29

1.3.4

рони 27.10.2018 13:37

boroda4,

options.onClosed = function() { 
   window.location.reload(true);  
}

boroda4 27.10.2018 13:44

Сработало! Спасибо огромное за помощь!!! +

boroda4 27.11.2018 13:01

И снова всем привет.
Вот решил перейти на 3 версию fancybox, в связи с чем опять возникла проблема с перезагрузкой страницы после закрытия fancybox.

Итак. Есть два файла page1.php и page2.php.
В page1.php подключаются скрипты:

<script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.2/dist/jquery.fancybox.min.css" />
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.2/dist/jquery.fancybox.min.js"></script>


в файле page2.php код открытия fancybox и подгрузка контента:

<a href="page.php" data-fancybox data-options='"type" : "iframe", "iframe" : {"preload" : false, "css" : {"width" : "600px", "height" : "700px"}}}'><img src='images/image.jpg' width = "40", height = "24"></a


этот код открывает fancybox и подгружает контент, но естественно не перегружает page1 при закрытии.

такой код тоже не срабатывает
<a href="page.php" data-fancybox data-options='{"afterClose" : function() { window.location.reload(true); }, "type" : "iframe", "iframe" : {"preload" : false, "css" : {"width" : "600px", "height" : "700px"}}}'><img src='images/image.jpg' width = "40", height = "24"></a


Помогите решить проблему. Спасибо!

рони 27.11.2018 13:14

boroda4,
попробуйте так window.top.location...


Часовой пояс GMT +3, время: 17:15.