Perché colorbox non si sa cosa c'è dentro l'iframe, Ridimensionamento automatico non può funzionare nel modo previsto.
lo faccio così: impostare una larghezza + altezza predefinita quando si apre colorbox con queste opzioni:
{ iframe: true, innerWidth: 430, innerHeight: 370, scrolling: false, ... }
selezionare una dimensione, il che rende più senso per il contenuto: colorbox si apriranno e caricare l'iframe in questa scatola. Alla fine del corpo HTML del iframe, inserire questo piccolo script che ridimensiona il colorbox dal nell'iframe:
$(function(){
parent.$.colorbox.resize({
innerWidth:$('body').width(),
innerHeight:$('body').height()
});
});
Per il secondo script funzioni, jQuery deve essere caricato all'interno dell'iframe. Altrimenti è necessario utilizzare JavaScript nativo per svolgere questa attività.
E assicurarsi che tutte le immagini all'interno di quell'iframe abbiano una larghezza/altezza impostata o siano state caricate completamente. Altrimenti innerWidth/innerHeight fornirà valori errati.
fonte
2012-04-08 22:22:43
Questa è una buona sceneggiatura. Inoltre, capisci che il problema non è tecnicamente che ColorBox non sappia cosa c'è nell'iframe, ma piuttosto che il BROWSER non lo sa fino a quando il contenuto non è arrivato nel filo e nel DOM. –
Qualcuno ha finalmente trovato una soluzione funzionante! Grazie! – user1380540
Sfortunatamente, questo funziona solo quando è possibile modificare l'origine di ciò che si trova nel proprio iFrame. Se stai caricando qualcosa su cui non hai alcun controllo, sembra che la tua unica opzione sia quella di impostare manualmente Altezza/Larghezza. –