На сайте есть комментарии disqus, они подгружаются скриптом в iframe через 3-4 секунды после загрузки страницы. Мне нужно было отследить момент когда они полностью загрузятся .load и .ready не помогали. Наткнулся на MutationObserver.
Есть вот такой код
function mobileComments() {
if ($(window).width()<= 991 ) {
var disqusHeight = $('#disqus_thread').height();
$('.blog-index-sidebar').css("padding-bottom",disqusHeight);
console.log(disqusHeight);
}
sidebarHeight();
}
jQuery(document).ready(function(){
var target = $('#disqus_thread')[0];
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
mobileComments();
});
});
var config = { attributes: true, childList: true, characterData: true };
observer.observe(target, config);
});
$( window ).resize(function() {
mobileComments();
});
Задача : на мобилках и планшетах, когда все складывается в одну линию, сайдбар всунуть между статьей и комментами. Код работает через раз, я там законсолил высоту блока с комментами, иногда он её подхватывает при изменениях содержимого
А иногда - нет
И все ломается