Промените величину ифраме-а тако да одговара садржају (само за исти домен) - ЦСС-трикови

Anonim

Обично постављате и ширину и висину за ифраме-ове. Ако је садржај унутра већи, клизачи морају бити довољни. Скрипта у наставку покушава то да поправи динамичком променом величине ифраме-а тако да одговара садржају који се учитава.

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

Промениће величину ифраме-а попут овог:



Погледајте демо

И даље проблематично ...

  1. Извор ифраме садржаја мора бити на истом домену
  2. ако садржај унутар ифраме-а промени висину, ово се неће прилагодити
  3. Оставио сам код Гоогле аналитике из претходне демонстрације, јер када сам га додао, чини се да омета и не мења величину ифраме-а, упркос томе што наизглед не генерише грешке.