2011-04-09 51 views
3

我試圖爲需要加載外部(同一服務器,不同頁面)內容的多個鏈接創建通用Colorbox啓動程序。在某些情況下,我需要能夠在不離開模式的情況下鏈接內容,因此iframe似乎是最好的(唯一的)方法,但我發現onComplete回調被無限釋放使用此代碼:Colorbox完成多次啓動

$('a[rel="modal"]').colorbox({ 
    href: function() { 
    return $(this).attr('href'); 
    }, 
    title: function() { 
    var title = $(this).attr('title'); 
    return title != 'undefined' ? title : false; 
    }, 
    rel: 'nofollow', 
    iframe: true, 
    onComplete:function() { 
    alert('complete'); 
    $.colorbox.resize({ 
     innerHeight: ($('iframe').offset().top + $('iframe').height()), 
     innerWidth: ($('iframe').offset().left + $('iframe').width()) 
    }) 
    } 
}); 

因爲它是通用的,我也想動態調整的模式內容本身。如果我沒有指定某些東西,我最終會得到一個自己摺疊的iframe。我知道我在這裏錯過了一些東西,但我不確定它是什麼。

我應該補充說,框架內的頁面加載還包括Colorbox腳本以及包含上述代碼的腳本。我將不得不檢查是否會產生某種無法逃避的蟲洞。

任何幫助將不勝感激。

UPDATE

它看起來像當onComplete觸發不存在的iframe。我沒有想到,所以我現在可以肯定地使用一些建議。 :-)

回答

1

不知道現在是否對您有幫助,但我遇到了與colorbox循環相同的問題。它最終成爲'href'屬性值的問題。 (我沒有設置'inline' : true而引用一個元素ID。)

如果用靜態位置替換'href'屬性中正在調用的函數,它會起作用嗎?如果沒有內容,可能是您的iframe不存在的原因。