Это может быть немного глупо, но это должно сработать. (Невозможно проверить).
Проблема, похоже, заключается в том, что ваш iframe решает, что его высота примерно на 400 пикселей больше, чем по какой-либо причине. Это может быть проблема с Facebook.
Что вы можете сделать, это вручную установить высоту iframe на «auto» при загрузке страницы.
$(document).ready(function() {
$(".fb-comments iframe").css("height", "auto");
});
Я не могу проверить это, но у меня есть подтверждение концепции редактирования DOM в Chrome.
--- отредактированный код ниже ---
$(".fb-comments iframe").css("height", function() {
$(this).contents().find("body").height();
});
Надеюсь, это решит проблему, установив высоту iframe на высоту его содержимого. Опять же, не уверен, как это получится с вышеизложенным. Свойство auto, по-видимому, не расширяет iframe, чтобы соответствовать его содержимому, как это делает обычный html-элемент.
Сохраните код в событии «Комментарий».
Я думаю, что это может вызвать другую проблему, когда при изменении содержимого iframe (поскольку они связаны с тем, когда кто-то добавляет комментарий), iframe не расширяется. Итак, мы сейчас находимся на этапе, когда вам нужно постоянно отслеживать содержимое iframe и применять его к самому iframe, что кажется слишком сложным, но я не могу придумать более простой способ.
Я сделал быстрый поиск, чтобы выяснить, есть ли у кого-нибудь более умный метод расширения фрейма, чтобы он соответствовал его содержимому, и не мог его увидеть. Но, похоже, именно в этом заключается ваш настоящий вопрос, когда мы его изучили.