2013-06-12 4 views
0

У меня есть динамически заполненный Fancybox, который используется для стандартизации адресов. Если адреса не возвращаются, я хочу автоматически отменить вызов Fancybox. Я попробовал оба следующих без успеха:Fancybox 1.3.4 автоматически закрывается

$.fancybox.close(); 
parent.$.fancybox.close(); 
window.parent.$.fancybox.close(); 
$.fancybox.cancel(); 

Это вызов я делаю, чтобы принести страницу вверх:

$.fancybox({ 
       'autoDimensions': true, 
       'autoScale': false, 
       'centerOnScroll': false, 
       'scrolling': 'no', 
       'enableEscapeButton': false, 
       'hideOnOverlayClick': true, 
       'href': 'url for page', 
       'showCloseButton': false, 
       'onStart': function() { 
        $.fancybox.showActivity(); 
        }, 
       'type': 'inline'//had issues with iframe 
      }); 

СПЯ, который загружается в окно FancyBox покажет но если сервер возвращает null, он не будет полностью закрывать fancybox. Пока я могу получить fancybox, чтобы закрыть все, кроме оверлея и содержимого div. Ниже то, что используется для вызова автоматического закрытия:

function closeDynamic() { 
    alert("2222"); 
    $.fancybox.cancel(); 
} 

Затем вызывая closeDynamic функции в нижней части страницы.

+0

Мое предположение? ваш загруженный файл (JSP) запускает ошибку js, которая перестает правильно закрывать fancybox. С другой стороны, имейте в виду, что содержимое inline означает контент, существующий (в конечном счете, скрытый) в документе. – JFK

+0

@JFK спасибо за совет. В JSTL возникла проблема, которая вызывала проблему. Я также переключился на iframe, чтобы сохранить любые будущие проблемы. –

ответ

0

Для тех, кто использует JSP, решение для меня состояло в проверке внутри JSP, вызываемого в Fancybox. В JS была ошибка в JSP.

Смежные вопросы