Высота iframe не отображается правильно только в Firefox - PullRequest
3 голосов
/ 12 февраля 2012

Я создал страницу, которая имеет функциональность, аналогичную функциональности DiggBar (то есть заголовок указанного height и iframe ниже, заполняющий остальную часть страницы).

У меня была эта работаНекоторое время назад с желаемыми результатами, но внезапно height из iframe изменилось с 100% оставшейся страницы height до 44.8px.Загвоздка в том, что это происходит только в одном браузере - Firefox в Ubuntu.

Я думал, что это должно происходить во всех других браузерах, но это не так.Он правильно отображается в IE, FF и Chrome в Windows и Chrome в Ubuntu.

Наконец, используя Firebug, я выбрал inspect element, чтобы попытаться определить, что происходит, но он говорит только о том, что мой height определено как 100%, но вычислено только 44.8px.

Я ищу несколько советов о том, как лучше всего отладить эту проблему, потому что яполностью исчерпали идеи.Я не думал, что нужно будет публиковать весь код, который создает эту проблему, но если он абсолютно необходим, просто спросите.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 18 апреля 2012

Если у вас сложная структура макета, установка высоты всех элементов div на 100% может нарушить макет страницы.В этом случае я рекомендую использовать JavaScript, чтобы установить высоту iframe на 100%.В моем случае я использовал JQuery, но я считаю, что чистые функции DOM javascript также должны работать.Я устанавливаю высоту iframe равной высоте родительского div:

$('#doc-preview iframe').height($('#doc-preview').height());

Здесь предварительный просмотр документа является идентификатором родительского div iframe.

Обязательно запустите этот скрипт после загрузки страницы.

2 голосов
/ 12 февраля 2012

К сожалению, часть каскадных таблиц стилей Cascading отбросила меня.У меня была еще одна (назовем это «скрытой») ссылка на родителя iframe, который вызвал странную проблему height.

Забавно, что это произошло только в моей версии Firefox для Ubuntu.

...