Страница 1 из 1
проблема с 2 скриптами
Добавлено: 15 апр 2012, 17:46
Глеб
Пытаюсь установить на сайт 2 скрипта с темы
http://flapps.ru/forum/topic3484-10.html#p28258 (про вывод всех друзей) и с
http://flapps.ru/forum/topic721.html#p5974 (про вывод информации о пользователе)
Но вся проблема в том, что почему-то если ставить сразу 2 скрипта, то информация о пользователе просто пропадает и остается только список всех друзей, а если делать только 1 из них, то все нормально
Как эту проблему можно исправить?
Re: проблема с 2 скриптами
Добавлено: 15 апр 2012, 18:25
Глеб
а нет, я ошибся, проблема с переадресации с одной страницы на другую....
Re: проблема с 2 скриптами
Добавлено: 16 апр 2012, 21:10
Александр
Надо не 2 скрипта вместе написать, а логически их связать. Как ты это делаешь?
Re: проблема с 2 скриптами
Добавлено: 17 апр 2012, 22:49
Глеб
не, спасибо, я уже разобрался как их связать
Код: Выделить всё
<script type="text/javascript">VK._apiId = XXXXXXX; function autosize(width) { if (!document.getElementById('page')) { return; } if (typeof VK.callMethod != 'undefined') { VK.callMethod('resizeWindow', width, document.getElementById('page').clientHeight + 1); } else { setTimeout('autosize('+width+')', 100); } } $(document).ready( function(){ setInterval('autosize(827)', 500); VK.init(function() { // инициализируем Vk API // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars var parts=document.location.search.substr(1).split("&"); var flashars={}, currs; for (i=0; i<parts.length; i++) { currs = parts[i].split('='); // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1; flashars[currs[0]] = currs[1]; } // получаем viewer_id из полученных переменных var viewer_id = flashars['viewer_id']; // выполняем запрос получения профиля VK.api("getProfiles", {uids:viewer_id,fields:"photo_big"}, function(data) { // обрабатываем полученные данные // выводим имя и фамилию в блок user_info document.getElementById('user_info').innerHTML = data.response[0].first_name + ' ' + data.response[0].last_name + '<br />'; // создаем img, для отображения аватарки var image=document.createElement('img'); // из полученных данных берем ссылку на фото image.src=data.response[0].photo_big; // добавляем img в блок user_info user_info.appendChild(image); }); // выполняем запрос получения списка друзей VK.api("friends.get", {}, function(dataAllFriends) { VK.api("friends.getAppUsers", {}, function(dataAppUsers) { var frCount = dataAllFriends.response.length; var appCount = dataAppUsers.response.length; var App = dataAppUsers.response; var AppCount = App.length; document.getElementById('uids_count').innerHTML = 'Количество друзей: ' + AppCount; if (AppCount>0) { if (AppCount<4) { var AppUids = App.join(','); } else { var uidCount = 3; var uidArr = []; for (i=0;i<uidCount;i++) { var max = App.length-1; var rand = Math.floor(Math.random()*max); uidArr.push(App[rand]); App.splice(rand,1); } AppUids = uidArr.join(','); } VK.api("getProfiles", {uids:AppUids,fields:"photo_rec"}, function(data) { var profilesCount = data.response.length; 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>
Но проблема в том, что при нажатии на другую страницу, имеющую тот-же скрипт не отображает аватар в этих 2-ух скриптах, а имена выводит нормально. Как мне такое исправить?
Re: проблема с 2 скриптами
Добавлено: 18 апр 2012, 20:23
Александр
Глеб
Выясни какой запрос не выполняется.
Есть ли смысл создавать элемент через createElement? Разберись с кодом, пойми каждую строчку.
Подумай как можно связать логичнее. Зачем 2 раза вызывать getProfiles?
Если не разберешься, то так и будешь продолжать сталкиваться с проблемами, которые сам не решишь, а другие не будет помогать решать из-за того что код нелогичен.