Страница 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?
Если не разберешься, то так и будешь продолжать сталкиваться с проблемами, которые сам не решишь, а другие не будет помогать решать из-за того что код нелогичен.