Странный jquery дисплей высоты iframe - PullRequest
0 голосов
/ 23 февраля 2012

у меня при вызове iframe вызывается следующий метод:

function resizeIframe() {    
    $("#content").css("height", "");
    $("#content").css("width", "");
    var iFrameHeight = $('iFrame').contents().height();
    var iFrameWidth = $('iFrame').contents().width();

    $("#content").css("height", iFrameHeight);
    $("#content").css("width", iFrameWidth);
}

Когда это вызывается, под текстом много свободного места, поэтому высота iframe составляет около 1457px. Но странная вещь, когда я добавляю предупреждение вот так:

function resizeIframe() {    
    $("#content").css("height", "");
    $("#content").css("width", "");

    var iFrameHeight = $('iFrame').contents().height();
    var iFrameWidth = $('iFrame').contents().width();

    alert($("#content").height()); <-------------this alert

    $("#content").css("height", iFrameHeight);
    $("#content").css("width", iFrameWidth);
}

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

1 Ответ

0 голосов
/ 24 февраля 2012

Обычно вам нужно установить размер для iFrame на родительской странице. Если вы этого не сделаете, он возьмет полную ширину и высоту родительского контейнера и установит этот размер для окна в рамке. Таким образом, $('iFrame').contents().height() вернет фактически визуализированную высоту, которую вы уже знаете.

Я не понимаю вашего намерения с этими кодами.

Если вы хотите проверить исходный динамический размер страницы в рамке, это может быть сложно. У меня пока нет идей для этого.

Редактировать: Вы можете использовать подобные скрипты, чтобы исправить проблему с динамическим размером. http://www.dynamicdrive.com/dynamicindex17/iframessi2.htm

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