Асинхронная загрузка виджетов соцсетей

Discussion in 'PHP' started by Bmite, 1 Jul 2013.

  1. Bmite

    Bmite Робот-Казанова

    Joined:
    27 Feb 2007
    Messages:
    336
    Likes Received:
    81
    Reputations:
    0
    бред :(


    этот код установил в header:
    PHP:
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript">
    (function() {
        function async_load(u,id) {
            if (!gid(id)) {
                s="script", d=document,
                o = d.createElement(s);
                o.type = 'text/javascript';
                            o.id = id;
                o.async = true;
                o.src = u;
                // Creating scripts on page
                x = d.getElementsByTagName(s)[0];
                x.parentNode.insertBefore(o,x);
            }
        }
        function gid (id){
            return document.getElementById(id);
        }
        window.onload = function() {
        e = gid("s-twitter");
        e.setAttribute("data-lang", "ru"); 
        e = gid("s-facebook");
        e.setAttribute("data-layout", "button_count"); 
        e.setAttribute("data-send", "false"); 
        e = gid("s-google");
        e.setAttribute("data-size", "medium"); 
        async_load("//platform.twitter.com/widgets.js", "id-twitter");//twitter
        async_load("//connect.facebook.net/ru_RU/all.js#xfbml=1", "id-facebook");//facebook
        async_load("https://apis.google.com/js/plusone.js", "id-google");//google
        async_load("//vk.com/js/api/openapi.js", "id-vkontakte");//vkontakte
        };
        // Инициализация vkontakte
        window.vkAsyncInit = function(){
            VK.init({apiId: 3407986, onlyWidgets: true});
            VK.Widgets.Group("vk_groups", {mode: 0, width: "220", height: "400", color1: 'FFFFFF', color2: '2B587A', color3: '5B7FA6'}, 40694965);
            VK.Widgets.Like("vk_like", {type: "button", height: 20});
            VK.Widgets.Comments("vk_comments", {limit: 10, width: "", attach: "*"});
        };
    })();
    </script>
    На странице материалов все работает!!! Но на главной и в разделах - нихрена не работает!

    Самое интересное, что код в сайдбаре главной и сайдбаре материалов - один и тот же.
    вывожу нужный мне виджет так <div id="vk_groups"></div>.

    для примера покажу так:
    работает и НЕ работает

    исходник главной и страницы материалов сравнивал, ничего интересного не нашел:(
    как поправить?
     
    #1 Bmite, 1 Jul 2013
    Last edited: 1 Jul 2013
  2. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Попробуй использовать проверенное решение http://yepnopejs.com/
     
    _________________________