Заметки
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. Иначе получится замкнутый расчёт: размер окна определяет размер блока, а блок снова задаёт размер окна.