Как узнать количество друзей в приложении (I-frame)

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Как узнать количество друзей в приложении (I-frame)

Сообщение Влад »

Собственно нужен код, который узнает сколько друзей (в цифрах) находится в приложении, у кого есть код поделитесь пожалуйста, отблагодарю.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Serge »

Тоже бьюсь над этим >_<
В одной из тем Александр писал

Код: Выделить всё

responseFriends.uid.length()
, но у меня ничего не выходит. И менял, и крутил, но не вышло...
Массив друзей получил (проверял в Чарли), а вот взять его длину - никак не выходит.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Serge »

Код: Выделить всё

VK.api('friends.getAppUsers',{},function(data){    fr = data.response.length;    alert(fr);});
Вот этот код в переменную fr записывает число друзей в приложении...
Но вот как сделать её глобальной - не понял... Может кто-то поможет? Пытался по типу:

Код: Выделить всё

 var fr;VK.api('friends.getAppUsers',{},function(data){    fr = data.response.length;});alert(fr);
но возвращает undefined. Как сделать правильно?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Александр »

Serge

Код: Выделить всё

alert(fr);
во втором случае, сработает раньше чем выполнится функция VK.api.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Serge »

Александр писал(а):Serge

Код: Выделить всё

alert(fr);
во втором случае, сработает раньше чем выполнится функция VK.api.
В принципе я догадывался, что вся проблема в этом.
Но как исправить - не понял всё равно. Пытался сделать

Код: Выделить всё

var fr;function dryzi(){VK.api('friends.getAppUsers',{},function(data){    fr = data.response.length;});alert(fr);};dryzi();
Но даже так не хочет срабатывать. Ничего не выводит.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Александр »

Serge
Опять же ничего не изменил...
У тебя только начинает выполняться вызов метода friends.getAppUsers, а alert не дожидается её завершения.

Код: Выделить всё

VK.api('friends.getAppUsers',{},function(data){    // тут выполняется код после получения результата вызова сервера    alert('1');    fr = data.response.length;});// код не ждёт завершения!alert('2'); 
Проверь. Сначала выскочит сообщение "2", а потом "1". Явно не то что ты ожидаешь.

Вот так функция будет вызвана когда метод будет выполнен.

Код: Выделить всё

    var frCount = 0;    VK.api("getFriends", function(data) {         frCount = data.response.length;        alertFriendsCount();    });     function alertFriendsCount() {        alert(frCount);    }
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Влад »

Супер, просто супер!
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Serge »

Александр писал(а):Serge
Вот так функция будет вызвана когда метод будет выполнен.

Код: Выделить всё

    var frCount = 0;    VK.api("getFriends", function(data) {         frCount = data.response.length;        alertFriendsCount();    });     function alertFriendsCount() {        alert(frCount);    }
Спасибо, так и правда работает.
Но тут вот оказалась другая проблема - надо было передавать количество друзей php-скрипту, но делая по такому принципу скрипты на странице просто перестают выполнятся.
Решил проблему не очень хорошо - храню в базе айди пользователя и его количество друзей.
Аватара пользователя
Влад
Модератор
Модератор
Сообщения: 654
Зарегистрирован: 29 апр 2010, 22:24

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Влад »

Код: Выделить всё

var frCount = 0;    VK.api("getAppFriends", function(data) {        frCount = data.response.length;        alertFriendsCount();    });      function alertFriendsCount() {        $('#friend').html(frCount);    }  if(frCount>10) alert("больше 10") else alert("меньше");
Я может заблуждаюсь, как сделать вывод если больше 10 друзей то выводить больше, если меньше - то меньше?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как узнать количество друзей в приложении (I-frame)

Сообщение Александр »

Влад
У тебя опять будет выполняться код не в той последовательности в которой ты подразумеваешь. Разберись с кодом который я писал. Что тебе в нем не понятно?

Поставил в твой код алерты, попробуй

Код: Выделить всё

var frCount = 0;    VK.api("getAppFriends", function(data) {        alert('1');        frCount = data.response.length;        alertFriendsCount();    });      function alertFriendsCount() {        alert('2');        $('#friend').html(frCount);    }         alert('3');  if(frCount>10) alert("больше 10") else alert("меньше");
Думаешь, что выведет по очереди 1, 2, 3? Попробуй.
Ответить