Проблема с изменением размера фрейма в jQuery в IE8 - PullRequest
3 голосов
/ 26 января 2011

Я использую этот фрагмент кода для динамического изменения размера iframe (того же домена) на странице:

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

Он работает в Chrome, FF и Safari, но не в IE8.Есть идеи, почему это не работает?

Спасибо.

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

1 Ответ

0 голосов
/ 19 апреля 2012

Я сделал это в 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;
}​

Это 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); 

Дайте мне знать, если это поможет .. У меня есть (как мы все знаем) некоторые реальные проблемы .Css поможет, если сможет его использовать. Возможно, вам придется немного поиграть с CSS, а также с externalWidth (true) vs ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...