2012-04-08 75 views

回答

19

因爲顏色框不會知道什麼是iframe內,自動調整不能工作,你所期望的方式。

我那樣做:

{ iframe: true, innerWidth: 430, innerHeight: 370, scrolling: false, ... } 

選擇大小,這使得最適合您的內容:顏色框將打開並加載IFRAME使用這些選項打開顏色框時設置的默認寬+高進入這個盒子。 在iframe的HTML身體結束,把這個小腳本,它從iframe中調整大小的顏色框:

$(function(){ 
    parent.$.colorbox.resize({ 
     innerWidth:$('body').width(), 
     innerHeight:$('body').height() 
    }); 
}); 

對於第二個腳本工作,必須的jQuery的iframe中加載。否則,你必須使用本機JavaScript來完成這項任務。

並確保該iframe中的所有圖像都設置了寬度/高度或已完全加載。否則,innerWidth/innerHeight會給出不正確的值。

+1

這是一個很好的腳本。另外,要明白這個問題在技術上並不是ColorBox不知道iframe中的內容,而是BROWSER直到內容下線並進入DOM才知道。 – 2012-04-09 03:31:57

+0

有人終於找到了一個工作解決方案!謝謝! – user1380540 2014-10-20 15:39:59

+0

不幸的是,這隻適用於修改iFrame中內容的來源。如果你正在加載一些你無法控制的東西,看起來你唯一的選擇就是手動設置高度/寬度。 – 2015-05-01 12:17:38