Динамическая высота iframe в зависимости от содержимого - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь сделать iframe, который будет регулировать высоту на основе фактического содержания. Я знаю, что вы не можете сделать это на кросс-домене, но в этом случае это будет тот же домен. Я нашел решение, в котором высота iframe установлена ​​при загрузке src, но, скажем, содержимое изменится в iframe, поэтому iframe должен увеличить высоту. Я создал вантуз, чтобы показать вам, что я имею в виду.

Вот плнукер: https://plnkr.co/edit/A6Hvmcf2drXGhHi22AWV

В данном случае это просто еще один файл, который я открываю в iframe, но допустим, что это будет другая страница. Я нашел следующий код, и он отлично работает в первом случае, но потом, если содержимое в iframe изменится, высота останется прежней, но я хочу, чтобы он был настроен.

<script>
  function resizeIframe(obj) {
    obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
  }
</script>

А потом в html как

<iframe src="..." frameborder="0" scrolling="no" onload="resizeIframe(this)" />

Так что на самом деле это не решение, потому что оно работает только под нагрузкой.

1 Ответ

0 голосов
/ 09 мая 2018

Вы можете использовать setInterval() для регулярной проверки contentWindow.document.body.scrollHeight. Это сделало бы работу, но было бы довольно грязно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...