Перейти к содержимому
FormFlow

Chrome 154 позволит сайтам включать адаптивный размер iframe

В Chrome 154 появится включаемый по желанию адаптивный размер для iframe. Встроенная форма FormFlow — это разметка на вашей странице, а не фрейм, так что менять размер там нечему.

Эта статья переведена машинным способом. Читать оригинал на английском

Two framed documents side by side: a fixed-height iframe that scrolls inside its frame, and an iframe sized to its document's layout with no scrollbar. It illustrates the opt-in responsively-sized iframe in Chrome 154 and why FormFlow's Embedded form, which is markup and not a frame, is unaffected.

Chrome 154 должен выйти в Stable 22 сентября 2026 года. Среди главных возможностей в примечаниях к выпуску Chrome 154 указана «Responsively-sized iframe», которую описывают как возможность, позволяющую «сайтам включать адаптивный размер для iframe». Если вы встраиваете Форму FormFlow на свой сайт, естественный вопрос: изменится ли что-нибудь для вас? Короткий ответ, исходя из кода: нет, потому что Встроенная форма не находится в iframe.

Что сказано в примечаниях к выпуску

В описании сказано, что функция «задаёт размер элемента iframe в родительском документе по размеру переполнения макета встроенного документа», а целью названо «исключение прокрутки во вложенном документе». Проще говоря: страница, в которой другой документ лежит во фрейме, может подогнать фрейм под высоту, нужную этому документу, вместо того чтобы задавать фиксированную высоту и оставлять внутри фрейма полосу прокрутки.

Примечания краткие. В них не сказано, какой атрибут или заголовок использует сайт, чтобы включить эту возможность, и мы в этой статье не станем гадать. Они ссылаются на запись в баг-трекере, запись в ChromeStatus и раздел об адаптивных iframe в спецификации css-sizing-4; прочитайте их, прежде чем менять страницу. О других браузерах в примечаниях тоже ничего не говорится.

Является ли Встроенная форма FormFlow iframe?

Нет. Встроенная форма — это собственная страница клиента с сгенерированным компонентом: разметкой, созданной по схеме Формы, размещённой прямо на странице и отправляющей данные в Форму с сайта клиента. Для этой статьи мы проверили код. Ни генератор компонентов, ни среда выполнения встраивания в resources/js/embed/runtime.js не создают iframe. Среда выполнения ищет на вашей странице элементы form с атрибутами данных компонента и работает с ними на месте, добавляя такое поведение, как переход между шагами и сообщения об ошибках, к форме, которая уже есть на странице.

Этим вопрос про Chrome 154 и закрывается. Новая функция нужна, чтобы подогнать размер фрейма под документ внутри него. У Встроенной формы фрейма нет, поэтому подгонять нечего. Форма занимает ту высоту, которая нужна её собственной разметке, как любой другой блок на вашей странице, а сколько места ей отвести, решает макет самой страницы.

Если вы сами поместили форму в iframe

Некоторые сайты оборачивают форму стороннего сервиса во фрейм, а фрейм, который прокручивается внутри страницы, для формы — привычная неприятность: посетитель прокручивает страницу, потом фрейм и в итоге теряет кнопку отправки. Если у вас именно так, функция Chrome 154 может оказаться полезной, но поможет ли она, зависит от деталей, которые в примечаниях к выпуску не раскрыты. Проверьте её в Chrome 154 Stable и узнайте, поддерживается ли она в браузерах ваших посетителей, прежде чем на неё полагаться.

Если вы вообще не хотите возиться с фреймом, можно разместить сгенерированный компонент на странице как разметку. Как это сделать, рассказано в статье Встройте Форму на свой сайт с помощью сгенерированного компонента.

Что делать

  • Прочитайте запись в примечаниях к выпуску Chrome 154 и раздел спецификации, на который она ссылается, прежде чем менять какой-либо фрейм.

  • Если фрейм входит в схему размещения вашей формы, попробуйте включить эту возможность в Chrome 154 Stable и сравните результат с текущей фиксированной высотой.

  • Если форма размещена как разметка, как и сгенерированный компонент, для этой функции вам ничего менять не нужно.

Возможности браузеров меняются часто, поэтому перепроверять форму после крупного релиза Chrome — недорогая страховка, как бы вы её ни встраивали.