Iframe'i suuruse muutmine sisu mahutamiseks (ainult sama domeeni jaoks) - CSS-trikid

Anonim

Tavaliselt määrate iframe'i jaoks laiuse ja kõrguse. Kui sisu on suurem, peavad kerimisribadest piisama. Allolev skript üritab seda parandada, muutes iframe'i dünaamiliselt suurust vastavalt laaditavale sisule.

 $(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'; )); ) )); 

Muudab sellise iframe'i suurust:



Kuva demo

Ikka problemaatiline ...

  1. Iframe'i sisu allikas peab asuma samas domeenis
  2. kui iframe'i sisus olev kõrgus muutub, ei kohandu see
  3. Jätsin Google Analyticsi koodi ülaltoodud demost välja, kuna see lisades näib, et see häirib ja ei suurenda iframe'i suurust, hoolimata sellest, et näiliselt pole vigu tekitatud.