Normálne nastavujete a šírku a výšku pre prvky iframe. Ak je obsah vo vnútri väčší, musia stačiť posuvníky. Skript uvedený nižšie sa to pokúša napraviť dynamickou zmenou veľkosti prvku iframe tak, aby sa zmestil na načítaný obsah.
$(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'; )); ) ));
Zmení veľkosť iframe takto:
Zobraziť ukážku
Stále problematické ...
- Zdroj obsahu iframe musí byť umiestnený v rovnakej doméne
- ak obsah vo vnútri iframe zmení výšku, toto sa neprispôsobí
- Vyššie uvedenú ukážku som ponechal mimo kódu Google Analytics, pretože keď som ho pridal, zdá sa, že prekáža a nezmení veľkosť prvku iframe napriek zdanlivému generovaniu chýb.