2011-01-26 4 views
3

Я использую этот фрагмент кода для динамического изменения размера IFRAME (тот же домен) в пределах страницы:Проблемы с JQuery IFrame изменения размера в IE8

function setHeight() { 
     $("#myframe").height($("#myframe").contents().find("html").height()); 
    } 

Он работает в Chrome, FF и Safari, но не в IE8. Любые идеи, почему это не работает?

Спасибо.

Редактировать: Следует упомянуть, что я вызываю эту функцию из события onload iframe.

+0

Не могли бы вы поместить свой код в http://jsfiddle.net/? – sunn0

+0

Вы можете просмотреть код по адресу http://zoomout.in/worldwide-climate-search/ – sxv

+0

, разрешили ли вы это? У меня такая же проблема – meo

ответ

0

Я сделал это в jsfiddle.net так вот ссылка, если вы хотите, чтобы проверить это: http://jsfiddle.net/4LQFc/5/

Вот краткое изложение:

Это ваш HTML:

<!DOCTYPE html> 
<html> 
<body> 
    <div id="div_loaded">loaded div</div> 
    <p id="get_dimentions"></p> 
    <iframe src="" id="iframetosize"></iframe> 
</body> 
</html>​ 

Некоторые необязательный CSS ... для демонстрационных целей:

p { 
      margin:10px; 
      padding:5px; 
      border:2px solid #666; 
} 
#div_loaded { 
      position:relative; 
      display:block; 
      margin:10px; 
      padding:5px; 
      border:2px solid #666; 
      height:30%; 
      width:30%; 
} 
#iframetosize { 
      margin:10px; 
      padding:5px; 
      background-color:#000; 
      color:#fff; 
}​ 

Th это является JQuery (некрасиво, но работает):

var getsize = $("#div_loaded"); 
$("#get_dimentions").text("Width: " + getsize.outerWidth() + " , Height: " + getsize.outerWidth(true)); 
var sizewidth = getsize.outerWidth(); 
var sizeheight = getsize.outerHeight(); 
$("#iframetosize").css('height',sizeheight); 
$("#iframetosize").css('width',sizewidth); 

Позвольте мне знать, если это helps..IE имеет (как мы все знаем) некоторые реальные проблемы. .css поможет, если его можно использовать. Возможно, вам придется играть с CSS немного, а также outerWidth (true) vs().