Ни одно из CSS-решений не работало для меня по состоянию на март 2014 года. Похоже, что Facebook изменил плагин, чтобы теперь установить ширину контейнера внутри iFrame, который вы не можете переопределить с помощью CSS.
Немного покопавшись, я заметил, что ширина комментариев фактически контролируется последним параметром iframe src width=XXX
.Имея это в виду, вот как я это решил:
// ON PAGE LOAD
setTimeout(function(){
resizeFacebookComments();
}, 1000);
// ON PAGE RESIZE
$(window).on('resize', function(){
resizeFacebookComments();
});
function resizeFacebookComments(){
var src = $('.fb-comments iframe').attr('src').split('width='),
width = $('#container').width();
$('.fb-comments iframe').attr('src', src[0] + 'width=' + width);
}
#container
- это ширина вашего контейнера, в которую вы хотите, чтобы плагин комментариев растягивался, чтобы умещаться в ней.Измените это на то, что вам нужно, и этот код должен работать для вас.
Я использую тайм-аут, потому что я не смог заставить его сработать после загрузки iframe.Любая помощь по этому вопросу будет принята, но тайм-аут делает свою работу.
РЕДАКТИРОВАТЬ: Это решение приводит к поломке кнопки назад.Я сейчас пробую это решение, и оно кажется лучше: https://stackoverflow.com/a/22257586/394788