1-ый код:
Код: Выделить всё
<html> <head> <script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script><script type="text/javascript">VK.init(function(){ getFriend(); }); $(document).ready(function(){ getFriend(); });</script> <script type="text/javascript" charset="cp1251" > window.onload = (function() { // eiaaa caa?oceony any no?aieoa VK.init(function() { // eieoeaeece?oai Vk API // ociazi flashVars, ia?aaaiiua i?eei?aie? GET cai?inii. Nio?aiyai eo a ia?aiaiio? flashVars var parts=document.location.search.substr(1).split("&"); var flashVars={}, curr; for (i=0; i<parts.length; i++) { curr = parts[i].split('='); // caienuaaai a iannea flashVars cia?aiey. Iai?eia?: flashVars['viewer_id'] = 1; flashVars[curr[0]] = curr[1]; } // iieo?aai viewer_id ec iieo?aiiuo ia?aiaiiuo var viewer_id = flashVars['viewer_id']; // auiieiyai cai?in iieo?aiey i?ioeey VK.api("getProfiles", {uids:viewer_id,fields:"first_name, last_name, uid, photo_medium"}, function(data) { // ia?aaaouaaai iieo?aiiua aaiiua // auaiaei eiy e oaieee? a aeie user_info document.getElementById('user_info').innerHTML='<br/><a href="http://vk.com/id'+data.response[0].uid+'" target="_blank"><center><img src="'+data.response[0].photo_medium+'"></center><center>'+data.response[0].first_name+' '+data.response[0].last_name+'</center>'; }); }); }); </script></head> <div id="page"> <body> <TABLE width="10%" align="left"> <tr> <td> <div id="user_info"></div> </TD> </TR> </TABLE> <script type="text/javascript"> setTimeout(resize, 100); VK.callMethod("setTitle", '555'); VK.callMethod("setLocation", '5555555.htm'); function resize() { setTimeout(resize, 100); var real_height = document.getElementById('page').clientHeight; VK.callMethod('resizeWindow', '827', real_height); } </script> </div> </body> </html>
Код: Выделить всё
<html><head><script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script><script type="text/javascript" charset="cp1251" >window.onload = (function() { VK.init(function() { // выполняем запрос получения списка друзей VK.api("friends.get", {}, function(dataAllFriends) { // после получения списка друзей, выполняем запрос получения списка друзей установивших приложение VK.api("friends.getAppUsers", {}, function(dataAppUsers) { // !!! ОБРАТИТЕ ВНИМАНИЕ, что вместо "data", привычной многим "просто-копипастерам-кода", используются dataAllFriends и dataAppUsers. Благодаря этому вторая переменная не перезапишет значение первой. // узнаем количество друзей var frCount = dataAllFriends.response.length; // количество установивших приложение var appCount = dataAppUsers.response.length; // создаём массив друзей, которые не установили приложение var noApp = dataAllFriends.response; // cначала записываем всех друзей в массив, дальше будем удалять из него установивших if (appCount<frCount) { // если все друзья установили, то нет смысла и проверять // кол-во установивших приложение никогда не будет больше чем общее количество друзей, поэтому в первом цикле будем пробегаться по массиву установивших for (i=0;i<appCount;i++) { for(j=0;j<frCount;j++){ // если нашли в массиве всех друзей тот, который в списке установивших - удаляем if (dataAppUsers.response[i]==noApp[j]) { // вырезаем такой id noApp.splice(j,1); // прерываем цикл. Перебирать дальше нет смысла. break; } } } } // теперь в массиве noApp храняться id друзей, которые не установили приложение var noAppCount = noApp.length; document.getElementById('uids_count').innerHTML = 'Количество друзей, не установивших приложение: ' + noAppCount; // выведем ссылки на профили трех из этих пользователей // смысл получать профили есть только если массив пользователей не пустой if (noAppCount>0) { // если не установили приложение менее 4х друзей, то выведем только их if (noAppCount<4) { // просто превращаем массив пользователей в строку var noAppUids = noApp.join(','); } else { // выбираем случайных трёх, причем исключаем вероятность выбора одного и того же пользователя // сделаем это так: выберем одного и удалим его из массива и т.д. var uidCount = 3; // количество профилей var uidArr = []; // в этот массив запишем id for (i=0;i<uidCount;i++) { var max = noApp.length-1; var rand = Math.floor(Math.random()*max); uidArr.push(noApp[rand]); noApp.splice(rand,1); } // превращаем массив в строку noAppUids = uidArr.join(','); } VK.api("getProfiles", {uids:noAppUids,fields:"photo_rec"}, function(data) { // узнаем количество полученных профилей var profilesCount = data.response.length; // в эту переменную запишем html код для вывода списка пользователей var profilesStr = ''; for (var i=0; i<profilesCount; i++) { profilesStr += '<a href="http://vk.com/id' + data.response[i].uid + '" title="' + data.response[i].first_name + ' ' + data.response[i].last_name + '" target="_blank"><img src="' + data.response[i].photo_rec + '" /></a> '; } document.getElementById('friends_list').innerHTML = profilesStr; // http://flapps.ru }); } }); }); });});</script></head><body><div id="uids_count"></div><div id="friends_list"></div><a href="http://flapps.ru">http://flapps.ru</a></body></html>