2016-02-09 5 views
0

Я использую простой JavaScript-код для изменения размера iframe на основе загружаемого содержимого (это все в домене). Однако я получаю ситуацию, когда; когда iframe изменяет размер для страницы с большим количеством контента, для которого требуется прокрутка на исходной странице, но затем, когда вы переходите на страницу с гораздо меньшим содержанием, исходная страница остается на той же высоте, поэтому у нее есть много ужасного пустого прокручиваемого пространства ниже контент, и я не могу остановить это.Исходная страница не изменяет размер с изменениями высоты iframe

Есть ли дополнительный код, чтобы убедиться, что исходная страница изменяет размер с помощью iframe?

JavaScript

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

ответ

0

У вас есть несколько вариантов.

  1. Используйте offsetHeight вместо scrollHeight.
  2. Уменьшите высоту до 1px в начале функции изменения размера, чтобы она могла «расти» до нового меньшего размера.

Оба варианта имеют недостатки. Вариант один не будет содержать никаких полей на вашем теле, поэтому лучше всего установить его на 8 пикселей, а затем добавить 16 пикселей на высоту. Второй вариант создает небольшое мерцание.