РАМКА внутри ИЗМЕНЕНИЯ КОЛОННЫ (HTML) - PullRequest
0 голосов
/ 27 марта 2012

Как мне это сделать?

У меня есть iframe внутри столбца (html таблица), но я хочу, чтобы значение td было таким же высоким, как у документа внутри iframe.

Возможно ли это?

Ответы [ 3 ]

2 голосов
/ 27 марта 2012

Вот ответ (в JQuery).

в jQuery:

$("#myIframe").on("load", function ()
{
    $(this).parent("td:first").css('width', $(this).css('width')).css('height', $(this).css('height'))
});
0 голосов
/ 17 октября 2017

Я использую этот кусок кода в 2 проектах, у меня он работает нормально. Я не знаю, есть ли лучший способ добиться этого (обратите внимание, что этот код имеет setInterval, он будет проверять высоту содержимого iframe каждую 1 секунду и обновлять его высоту). Он также использует jQuery.

let iframe = document.getElementById('your_iframe_id'),
    current_height = 0,
    iframe_content = $(iframe).contents().find('body');

setInterval(() => {
    let new_height = iframe.contents().find('body').height();
    current_height = new_frame_height(current_height, new_height);
    iframe.css({ height: current_height });
}, 1000)

function new_frame_height(last_height, height) {
    if(height != last_height + 60) {
        last_height = height;
    }
    return last_height + 60
}

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

0 голосов
/ 27 марта 2012

Вам необходимо рассчитать высоту содержимого с помощью Javascript.

Вы можете увидеть рабочий пример здесь: http://th.atguy.com/mycode/iframe_size/

...