IE - scrollHeight - Регулировка высоты iFrame - PullRequest
0 голосов
/ 07 апреля 2011

Мы все знаем, что высота iFrame CSS не может быть указана как 100%, и нет способа автоматически расширить iFrame для высоты.У меня есть несколько старых страниц ASP.NET WebForms, которые я по разным причинам вкладываю в iFrame в среду MVC3 ..... Я предпочитаю не использовать iFrames ..... однако ситуация здесь оправдана .... (длинный рассказ).

Поскольку я использую iFrame, мне нужно получать значение тега body scrollHeight при каждом изменении вложенной веб-страницы .... и передавать его родительскому iFrame ...., а затемизмените высоту iFrame с точным значением.

Код для этого следующий ...

var iframeBody = $("iframe[id='_soc_layout_iframe']").contents().find('body');
if (iframeBody.length > 0) {
    if ($.browser.msie == true) {
        var scrollHeight = iframeBody[0].scrollHeight;
        var heightPlusPadding = scrollHeight + 25;
        $("iframe[id='_soc_layout_iframe']").css('height', heightPlusPadding.toString());
    }

Проблема в том, что scrollHeight в FireFox и других браузерах не является полной высотой содержимого, так какэто случай с IE.Можете ли вы предложить обходной путь для браузеров не IE?

1 Ответ

0 голосов
/ 08 июля 2011

Firefox ведет себя таким образом; Плавающее что-то выводит это из потока, поэтому оно больше не «сдерживается». Если вы поместите свою страницу в

и создадите ее таким образом
#wrapper { overflow: auto; } 

вы найдете scrollHeight работает так, как вы хотите.

Спасибо scrollHeight свойство в FireFox , которое помогло мне туда добраться.

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