2015-11-26 5 views
0

Я установил плагин Disqus, и моя тема WP теперь представляет проблему на высоте боковой панели.Проверьте наличие плагина Disqus

Disqus загружает iframe после содержания моей темы. По этой причине сценарий JS, который устанавливает высоту боковой панели, не видит этого нового раздела, потому что добавляется перед вычислением.

Мне нужно снова запустить THEME.siteHeight(); функции в теме/js/init.js после загрузки Disqus.

В этом файле есть в этом разделе:

$(window).load(function() { 
     CANOS.retina('desktop-logo', 'retina-logo'); 
     CANOS.retina('footer-desktop-logo', 'footer-retina-logo'); 
     CANOS.siteHeight(); 
    }); 


})(jQuery); 

мне нужно поставить пользовательскую функцию здесь:

$(window).load(function() { 
     CANOS.retina('desktop-logo', 'retina-logo'); 
     CANOS.retina('footer-desktop-logo', 'footer-retina-logo'); 
     CANOS.siteHeight(); 
    }); 


    if disqus is loaded { 
     CANOS.siteHeight(); 
    } 


})(jQuery); 

Очевидно, что я должен найти способ, чтобы проверить наличие Disqus (» если disqus загружен "не работает).

Буду признателен за любую помощь.

+0

Maybe попробуйте добавить обработчик изменения размера в iframe? http: //stackoverflow.com/a/9484560/2103033 – jeyoor

ответ

0

Вы можете проверить, если сценарий Disqus загружается с функцией как

function hasDisqus() { 
    var url = "disqus"; 
    var scripts = document.getElementsByTagName('script'); 
    for (var i = scripts.length; i--;) { 
     if (scripts[i].src.match(/url/g)) return true; 
    } 
    return false; 
} 

Затем вы можете сделать

if(hasDisqus()) 

бит грязного раствора, но может работать для вас

Смежные вопросы