2013-06-12 116 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 
      }); 

的JSP被加載到的fancybox窗口將顯示加載活動,但如果服務器返回null,它不會完全關閉fancybox。到目前爲止,我可以通過fancybox關閉除覆蓋和內容div之外的所有內容。以下是用於調用自動關閉的內容:

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

然後調用頁面底部的closeDynamic函數。

+0

我的猜測是?你的加載文件(JSP)觸發了一個js錯誤,它會阻止fancybox正常關閉。另一方面,請記住,「內聯」內容是指文檔中存在(最終隱藏)的內容。 – JFK

+0

@JFK感謝您的建議。 JSTL中存在導致問題的問題。我也切換到iframe以保存未來的任何問題。 –

回答

0

對於任何使用JSP的人來說,我的解決方案是檢查被調用到Fancybox的JSP內部。該JSP中的JS存在錯誤。