html: iframe с 100% высотой от содержимого
подскажите, можно ли как-то для iframe:
<iframe src='site.html' />
с помощью CSS (было бы идеально) или иными способами задать высоту такую же как у содержимого iframe, т.е. чтоб у iframe не появлялось бы вертикальной прокрутки, iframe была бы высотой ровно такой, как отображаемая внутри него страница
Ответы (1 шт):
иными способами задать высоту такую же как у содержимого iframe, т.е. чтоб у iframe не появлялось бы вертикальной прокрутки, iframe была бы высотой ровно такой, как отображаемая внутри него страница
Если материнская страница и страница в iframe с одного домена - мне удалось повлиять на высоту iframe вот таким скриптом...
<script>
//
function test(o){
const oi = o.contentDocument || o.contentWindow.document
o.style.height = oi.body.offsetHeight + 'px'
}
</script>
<iframe
onload='test(this)'
src='tmp.html'
/>
Если домены разные - нужно настраивать обмен сообщениями между страницами через window.postMessage
. Страница iframe должна принимать "запрос" на свою высоту и ответить на него.
P.S.
Но мой пример имел некие отступы внутри iframe... Т.ч. придется значение oi.body.offsetHeight
корректировать или пытаться убрать эти поля вокруг контента iframe.