← К заметкам

Заметки

BX24.fitWindow может не уменьшить фрейм

После сворачивания блока iframe иногда остаётся высоким. Причина может быть в разметке: min-height, высота body или растянутый контейнер продолжают удерживать прежний размер.

BX24.fitWindow ориентируется на размер содержимого. Для интерфейса с известной высотой можно явно вызвать BX24.resizeWindow после изменения DOM:

function collapseDetails() {
    const details = document.querySelector('[data-details]');
    if (!details) {
        return;
    }
    details.hidden = true;
    requestAnimationFrame(function () {
        BX24.resizeWindow(document.documentElement.clientWidth, 420);
    });
}

Пример рассчитан на уже инициализированный BX24.js. 420 — выбранная высота свёрнутого интерфейса, а не универсальное значение.

Если размер должен зависеть от содержимого, измеряйте внутренний контейнер приложения, который сам не растянут на высоту iframe. Иначе получится замкнутый расчёт: размер окна определяет размер блока, а блок снова задаёт размер окна.