Почему бы не применить эту же логику к любым источникам OneBox, которые явно указывают свою высоту и ширину и в конечном итоге внедряются через iframe?
Мысли и подход
В теории, если у нас уже есть явные значения высоты и ширины, которые передаются в iframe, тот же общий подход с установкой соотношения сторон можно использовать для того, чтобы сделать элементы масштабируемыми универсально.
Например, я всё чаще встраиваю демонстрационные видео в наше сообщество, поэтому перешёл на Bunny.net, известную своим CDN, и их сервис Bunny Stream для загрузки и встраивания видео.
После добавления video.bunnycdn.com и iframe.mediadelivery.net в настройки разрешённых iframe, я могу легко вставить URL из Bunny Stream, и он будет оформлен через OneBox с использованием одного из универсальных fallback-вариантов… но соотношение сторон выглядит очень странно при просмотре на мобильном устройстве. ![]()
В качестве быстрого обходного решения я написал простой компонент темы, который использует Plugin API и decorateCookedElement для обновления iframe с информацией о соотношении сторон.