как рассчитать высоту iframe? - PullRequest
0 голосов
/ 29 мая 2020

Я хочу вставить Iframe между компонентом заголовка и компонентом нижнего колонтитула, как мне рассчитать высоту этого экрана Iframe? Примечание: (содержимое верхнего и нижнего колонтитулов может измениться)

    <div dangerouslySetInnerHTML={{
         __html: `<iframe
          class="iFrame-screen"
          src="${dynamic-website-inserted-here}" />`
          }}
         />
    </div>

css: 
.iFrame-screen {
    position: absolute;
    right: 0;
    top: -100px;
    z-index: 1;
    height: 110%;
    width: 100%;
    border: none;
    overflow-y: auto;
    overflow-x: hidden;
}

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Не тестировалось, но вы можете попробовать. Обратите внимание, что это не удастся, если у вас нет фиксированной высоты верхнего и нижнего колонтитула. calc() вычисляет высоту просмотра минус высота заголовка минус высота нижнего колонтитула.

<body>
  <div id="page">
    <header id="pageHeader">
    </header>
    <main id="pageMain">
      <iframe src="..."></iframe>
    </main>
    <footer id="pageFooter">
    </footer>
  </div>
</body>

с этим css.

html, body {
  height: 100%;
  margin: 0;
}
header, footer, main {
  display: block;
}
#page {
  min-height: 100%;
}
#pageHeader {
  height: 70px; /* or something else */
}
#pageFooter {
  height: 90px; /* or something else */
}
#pageMain {
  position: relative;
  height: calc(100vh - 160px); /* 100vh minus (header + footer) */
}
#pageMain iframe {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 100%;
  border: 0;
}
1 голос
/ 29 мая 2020
function calcHeight()
{
  //find the height of the internal page
  var the_height = document.getElementsByTagName('iframe')[0].contentWindow.document.body.scrollHeight;

   console.log('Iframe Height is ' + the_height + ' pixels');
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...