Obično postavljate i širinu i visinu za okvire okvira. Ako je sadržaj unutra veći, klizači moraju biti dovoljni. Skripta u nastavku pokušava to popraviti dinamičkom promjenom veličine iframe-a tako da odgovara sadržaju koji se učitava.
$(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'; )); ) ));
Hoće li promijeniti veličinu iframea poput ovog:
Pogledajte demo
I dalje problematično ...
- Izvor iframe sadržaja mora biti na istoj domeni
- ako sadržaj unutar iframea promijeni visinu, to se neće prilagoditi
- Ostavio sam kôd Google Analyticsa iz demonstracije iznad, jer kad sam ga dodao, čini se da ometa i ne mijenja veličinu iframea, unatoč tome što naizgled nije generirao pogreške.