У меня есть динамически заполненный 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 функции в нижней части страницы.
Мое предположение? ваш загруженный файл (JSP) запускает ошибку js, которая перестает правильно закрывать fancybox. С другой стороны, имейте в виду, что содержимое inline означает контент, существующий (в конечном счете, скрытый) в документе. – JFK
@JFK спасибо за совет. В JSTL возникла проблема, которая вызывала проблему. Я также переключился на iframe, чтобы сохранить любые будущие проблемы. –