Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.05.2013, 18:33
Новичок на форуме
Отправить личное сообщение для iser77 Посмотреть профиль Найти все сообщения от iser77
 
Регистрация: 18.06.2010
Сообщений: 5

Как загрузить ВК виджет группы асинхронно?
Всем привет.
Помогите, кто сталкивался... Нужно загрузить на страницы сайта виджет группы ВКонтакте. Для этого, на оффсайте пишут, что нужно сделать так:
1.
<script type="text/javascript" src="http://vk.com/js/api/share.js?11" charset="windows-1251"></script>
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?52"></script>

2.
<script type="text/javascript">
        VK.Widgets.Group("vk_groups", {mode: 0, width: "226", height: "290"}, 4122ххххх);
</script>


Задача состоит в том, чтобы загрузить этот виджет в случае, если место его появления окажется на экране (скролл).

Я установил плагин https://github.com/morr/jquery.appear/ который создает новый селектор (:in-viewport).
Потом с его помощью загружаю нужные блоки "по надобности, когда они попадают на экран", вот так:

$(document).ready(function()
{
    $(function() {
        $(document).on("scroll", window, function(event){
           $("#VKBox:in-viewport").load(ajaxURLtoVKBox);
        });
    });
})


Если проделать такое с любым блоком, будь то статический ХТМЛ или динамический, все работает прекрасно. А вот ВК блок глючит конкретно. Либо вообще не открывается, либо открывается много раз, по разу для каждого сегмента скроллинга мышью!

По ссылке ajaxURLtoVKBox создал такой код:

<div id="vk_groups"></div>

$(document).ready(function(){
        $.getScript("http://vk.com/js/api/share.js?11");
        $.getScript("http://userapi.com/js/api/openapi.js?52")
        .done(function(script, textStatus) {VK.Widgets.Group("vk_groups", {mode: 0, width: "226", height: "290"}, 412ххххххх);});
        // ПРОБОВАЛ И ТАК:
        /*$.ajax({
            url: "http://vk.com/js/api/share.js?11",
            dataType: "script",
            success: function(){}
        });
        $.ajax({
            url: "http://userapi.com/js/api/openapi.js?52",
            dataType: "script",
            success: function(){
                VK.Widgets.Group("vk_groups", {mode: 0, width: "226", height: "290"}, 412хххххх);    
            }
        });*/
})


Буду благодарен любой помощи!
Спасибо.

Последний раз редактировалось iser77, 31.05.2013 в 18:38.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 19:24
Как загрузить удаленную страницу zhyr Общие вопросы Javascript 2 10.08.2009 09:08
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 22:20
Help ! Как загрузить данные по ссылке из таблицы1 в таблицу2 ? asked86 Общие вопросы Javascript 1 25.03.2009 20:06
форма как в ExtJS 2 magistr_bender Общие вопросы Javascript 0 11.09.2008 15:01