Измените размер iframe, чтобы показать, как работает первый элемент, кроме IE 7 - PullRequest
0 голосов
/ 13 января 2011

У меня есть два iframe на моей домашней странице, нижеприведенный скрипт находится в заголовке страницы, которая отображается в iframe, есть несколько разделов на странице в контейнере div с идентификатором 'content', яЯ хочу изменить размер iframe на домашней странице, чтобы изначально был виден только первый div, и прокрутить, чтобы увидеть остальные.

Он работает во всех браузерах, которые я пробовал, кроме IE 7, я неслишком беспокоиться о более ранних браузерах.IE 7 ведет себя так, как будто отображаемая страница пуста, и размер iframe равен 0, может ли кто-нибудь сказать мне, почему в IE 7 возникли проблемы с ним, и не удалось, как я могу заставить IE 7 игнорировать скрипт?

function resizeIframe () {

// получить firstChild контейнера div с идентификатором 'content'

var div01 = document.getElementById ("content"). FirstChild;

// найти первый элемент, игнорирующий пробелы, и возвращает

while (div01.nodeType! = 1) {div01 = div01.nextSibling;}

// получаем высоту первого элемента

var boxHeight = div01.clientHeight;

// устанавливаем высоту iframe, идентификатор idrame равен 'news'

parent.document.getElementById ('news'). Height = boxHeight;}

У меня есть функция, вызываемая в теге body.

Если бы кто-то мог мне помочь, я бы очень признателен.

Страницаон включен на wsuu.org. Версия со сценарием не работает, но вы можете понять, что я пытаюсь сделать.

Роб

1 Ответ

0 голосов
/ 15 января 2011

Проблема заключалась в том, что IE 7 не понимает метод clientHeight, который возвращает 0 вместо высоты элемента.Я заменил его на offsetHeight, который понимают все браузеры.Я поместил код на домашней странице и вызвал функцию в теге body.

Вот этот код.

    function calcHeight2()
{
    var div01=
    document.getElementById('iframe2').contentWindow.
    document.getElementById("content").firstChild;
    while(div01.nodeType!=1){
        div01 = div01.nextSibling;
    }
    var boxHeight = div01.offsetHeight;
    document.getElementById('iframe2').height = boxHeight-5;
}

Вы можете видеть, как он работает,

wsuu.org

...