Parasti iframei iestatāt un platumu un augstumu. Ja saturs iekšpusē ir lielāks, jāpietiek ar ritjoslām. Zemāk esošais skripts mēģina to novērst, dinamiski mainot iframe lielumu, lai tas atbilstu ielādētajam saturam.
$(function()( var iFrames = $('iframe'); function iResize() ( for (var i = 0, j = iFrames.length; i < j; i++) ( iFrames(i).style.height = iFrames(i).contentWindow.document.body.offsetHeight + 'px';) ) if ($.browser.safari || $.browser.opera) ( iFrames.load(function()( setTimeout(iResize, 0); )); for (var i = 0, j = iFrames.length; i < j; i++) ( var iSource = iFrames(i).src; iFrames(i).src = ''; iFrames(i).src = iSource; ) ) else ( iFrames.load(function() ( this.style.height = this.contentWindow.document.body.offsetHeight + 'px'; )); ) ));
Tiks mainīts šāda iframe izmērs:
Skatīt demonstrāciju
Joprojām problemātiska ...
- Iframe satura avotam jāatrodas tajā pašā domēnā
- ja iframe iekšpusē esošais saturs mainīs augstumu, tas netiks pielāgots
- Es atstāju Google Analytics kodu izslēgtu no iepriekš minētā demonstrācijas, jo, kad to pievienoju, tas, šķiet, traucē un nemaina iframe lielumu, neskatoties uz to, ka šķietami nerada kļūdas.