Jquery Auto Height iframe с вложенным iframe

0

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

Вот код, который я использую в обоих iframe

<script language="javascript" type="text/javascript">

  function resizeIframe(obj) {
    obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';

  }

</script>

<iframe name="Stack" src="inline-main.php" frameborder="0" scrolling="no" id="iframe" onload='javascript:resizeIframe(this);' width="1060px">Browser not compatible.</iframe>
Теги:
iframe

1 ответ

0

Поместите JavaScript на родительскую страницу, а не внутри целевого iframe

Я протестировал ваш пример, используя приведенный выше код на родительской странице и на iframed дочерней странице, которая содержит вложенный iframe; Оба iframe изменялись как ожидалось.

В приведенном выше объяснении вы говорите: "Вот код, который я использую в обоих iframe " (выделено мной), что заставляет меня думать, что у вас есть код внутри целевых фреймов вместо родителя каждого целевого iframe.

Ниже приведено основное содержание, необходимое на каждой странице:


Родительская страница

<script language="javascript" type="text/javascript">
function resizeIframe(obj) {
    obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
}
</script>
<iframe src="iframe.html" frameborder="0" scrolling="no" onload='javascript:resizeIframe(this);'>Browser not compatible.</iframe>

Внешний iframe

<script language="javascript" type="text/javascript">
function resizeIframe(obj) {
    obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
}
</script>
<iframe src="nested-iframe.html" frameborder="0" scrolling="no" onload='javascript:resizeIframe(this);'>Browser not compatible.</iframe>

Вложенные iframe

<h1>Hello World</h1>

ПРИМЕЧАНИЕ. Вы можете делать это только в iframe из того же домена. Он не будет работать в междоменных iframe. Кроме того, если у вас есть доступ ко всем страницам, включая родительскую страницу, то я бы не предложил использовать iframes для загрузки содержимого одного домена; используйте AJAX или, если есть, использовать jQuery AJAX-метод [ .ajax(), .get(), .load() ].

Ещё вопросы

Сообщество Overcoder
Наверх
Меню