Асинхронная загрузка виджетов ВКонтакте
« Обзор сервисов для проверки позиций сайтаИгры для форумов »

17 комментариев

  1. § ®   said on :

    Точно также можно асинхронно грузить и счетчики Google Analytics, Яндекс-Метрики и другие.
    Для этого делаем еще одну функцию, например, Metrika_loader, вставляем в нее код Метрики, а вызовы добавляем после вызовов VK_loader().
    С Google Analytics будет чуть сложнее: там часть кода, содержащую идентификаторы (т.е. что-то вроде var _gaq = _gaq || [];
    _gaq.push([’_setAccount’, ‘UA-5518309-15′]);
    _gaq.push([’_trackPageview’])), нужно не помещать в функцию, а оставлять в общей части скрипта, чтобы объявленные переменные оставались глобальными.

  2. § Владислав said on :

    Возникла подобная проблема. Попробую реализовать ваш метод. Спасибо.

  3. § Александр   said on :

    Спасибо огромное! работает чотко. у вас есть готовый код с метрикой?

  4. § ®   said on :

    Готового нет. Но с Метрикой все проще на самом деле, там не надо создавать DOM-элементов в коде загрузчика, как для ВК. И получается вот что:
    var Metrika_loader =function() {
    // сюда помещаем код метрики
    }
    А дальше добавляем вызов Metrika_loader(); после VK_loader(); (это нужно сделать два раза).

  5. § Юрий   said on :

    Подскажите, а для виджета комментов Фейсбука как модифицировать данное решение?!

  6. § ®   said on :

    Переделать процедуру VK_loader. Если конкретно, то прописать что-то вроде oScript.src="http://connect.facebook.net/en_US/all.js#appId=ВАШ_ID&xfbml=1″
    А кода инициализации там, по-моему, и не нужно, хотя, если есть, его нужно поместить в функцию, которая задается в oScript.onload. Если нет, то просто закомментируйте ее.

  7. § Сергей said on :

    Для тех кто просил.
    Асинхронная загрузка виджетов Facebook
    В предлагаемом коде виджетов HTML5 добавим перед js.src = “//connect.facebook.net вот эту строчку js.async=true;

    Для Я.Метрика уже существует асинхронный код.
    На странице редактирования счетчика, кликните на Дополнительно и поставьте галочку асинхронный код. Скопируйте и установите код на свой сайт.

  8. § Сергей said on :

    На сайте sociomodel.ru в IE 10 виджеты вк не загружаются, в остальных браузерах все отлично. У всех так или только у меня?

  9. § Дмитрий said on :

    А я использовал вот этот метод https://varvy.com/pagespeed/defer-loading-javascript.html

  10. § Герыч said on :

    замечательный скрипт, но он у меня не рабатал

  11. § Кирилл said on :

    Всё хорошо, только в первой строчке кавычка забыта. Поэтому и не работает у некоторых..

  12. § Pashaster (cccp-blog.com) said on :

    Спасибо за код, помог) Никак только не пойму, почему прямое прописывание атрибута async в тег script подгрузки vk openapi не помогает…

  13. § ®   said on :

    Очень просто: в этом случае код инициализации (там, где VK.init вызывается) броузер пытается выполнить еще до того, как загрузится скрипт openapi.js. Объект VK оказывается не определен, поэтому ничего и не работает.

  14. § Иван   said on :

    Админ, почему не исправишь код?
    Видно же что нет закрытой кавычки в первой части блока.
    …. вывод комментариев
    }
    };
    Вот эта последняя кавычка в первой части блока не открыта сверху.

  15. § Иван said on :

    А не всё норм, это у меня там косяк с переносом был.
    НО!! т.к. сайт отдается по https, всё равно не отображались блоки ВК, пока не заменил http://userapi.com/js/api/openapi.js?20 на https

  16. § Марат   said on :

    Здравствуйте. Скажите как можно убрать аватарки с комментариев в виджете?

  17. § ®   said on :

    Можно попробовать включить мини-режим, но не знаю, скрываются там аватары или нет:
    VK.Widgets.Comments("vk_comments", {limit: 10, width: 400, attach: “*", mini: true});
    Другой вариант — скрыть их через CSS. Для этого нужно прописать в CSS что-то вроде .post_image { display: none !mportant }


Идет загрузка формы...