Не работает javascript

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)

Не работает javascript

Сообщение Ardoms » 05 авг 2014, 21:13

В iframe приложение не работает javascript - если через localhost все нормально - через окно iframe вконтакте не работает - кто что посоветует ?
Изображение
Ardoms

 
Автор темы
Сообщения: 79
Зарегистрирован: 16 ноя 2010, 21:37
Благодарил (а): 17 раз.
Поблагодарили: 0 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Не работает javascript

Сообщение alexandr_ratush » 06 авг 2014, 19:03

Как именно не работает? Какие ошибки?
Аватара пользователя
alexandr_ratush

 
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47
Откуда: Ukraine
Благодарил (а): 2 раз.
Поблагодарили: 25 раз.

Re: Не работает javascript

Сообщение maxdjab » 01 ноя 2014, 13:53

Та же беда( не работает js.вк методы. Все что не касается вк работает на ура. Думал где то конфликт, взял готовое решение с сайта и тоже 0. Есть у кого какие советы?
  1. <html>
  2. <head>
  3. <script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
  4. <script type="text/javascript" charset="cp1251" >
  5. window.onload = (function() {
  6.     VK.init(function() {
  7.         // выполняем запрос получения списка друзей
  8.         VK.api("friends.get", {}, function(dataAllFriends) {
  9.             // после получения списка друзей, выполняем запрос получения списка друзей установивших приложение
  10.             VK.api("friends.getAppUsers", {}, function(dataAppUsers) {
  11.                     // !!! ОБРАТИТЕ ВНИМАНИЕ, что вместо "data", привычной многим "просто-копипастерам-кода", используются dataAllFriends и dataAppUsers. Благодаря этому вторая переменная не перезапишет значения первой.
  12.                    
  13.                     // узнаем количество друзей
  14.                     var frCount = dataAllFriends.response.length;
  15.                     // количество установивших приложение
  16.                     var appCount = dataAppUsers.response.length;
  17.                    
  18.                     // создаём массив друзей, которые не установили приложение
  19.                     var noApp = dataAllFriends.response; // cначала записываем всех друзей в массив, дальше будем удалять из него установивших
  20.                    
  21.                     if (appCount<frCount) { // если все друзья установили, то нет смысла и проверять
  22.                         // кол-во установивших приложение никогда не будет больше чем общее количество друзей, поэтому в первом цикле будем пробегаться по массиву установивших
  23.                         for (i=0;i<appCount;i++) {
  24.                             for(j=0;j<frCount;j++){
  25.                                 // если нашли в массиве всех друзей тот, который в списке установивших - удаляем
  26.                                 if (dataAppUsers.response[i]==noApp[j]) {
  27.                                     // вырезаем такой id
  28.                                     noApp.splice(j,1);
  29.                                     // прерываем цикл. Перебирать дальше нет смысла.
  30.                                     break;
  31.                                 }
  32.                             }
  33.                         }
  34.                     }
  35.                    
  36.                     // теперь в массиве noApp храняться id друзей, которые не установили приложение
  37.                     var noAppCount = noApp.length;
  38.                     document.getElementById('uids_count').innerHTML = 'Количество друзей, не установивших приложение: ' + noAppCount;
  39.                    
  40.                     // выведем ссылки на профили трех из этих пользователей
  41.                     // смысл получать профили есть только если массив пользователей не пустой
  42.                     if (noAppCount>0) {                
  43.                         // если не установили приложение менее 4х друзей, то выведем только их
  44.                         if (noAppCount<4) {
  45.                             // просто превращаем массив пользователей в строку
  46.                             var noAppUids = noApp.join(',');
  47.                         } else {
  48.                             // выбираем случайных трёх, причем исключаем вероятность выбора одного и того же пользователя
  49.                             // сделаем это так: выберем одного и удалим его из массива и т.д.
  50.                             var uidCount = 3; // количество профилей
  51.                             var uidArr = []; // в этот массив запишем id
  52.                            
  53.                             for (i=0;i<uidCount;i++) {
  54.                                 var max = noApp.length-1;
  55.                                 var rand = Math.floor(Math.random()*max);
  56.                                 uidArr.push(noApp[rand]);
  57.                                 noApp.splice(rand,1);
  58.                             }
  59.                             // превращаем массив в строку
  60.                             noAppUids = uidArr.join(',');
  61.                         }
  62.                        
  63.                        
  64.                        
  65.                         VK.api("getProfiles", {uids:noAppUids,fields:"photo_rec"}, function(data) {
  66.                             // узнаем количество полученных профилей
  67.                             var profilesCount = data.response.length;
  68.                            
  69.                             // в эту переменную запишем html код для вывода списка пользвоателей
  70.                             var profilesStr = '';
  71.                            
  72.                             for (var i=0; i<profilesCount; i++) {
  73.                                 profilesStr += '<a onclick="VK.callMethod('showRequestBox', '+data.response[i].uid+', 'Рекомендую посмотреть ({title}) в отличном качестве ');" ><img src="' + data.response[i].photo_rec + '" title="' + data.response[i].first_name + ' ' + data.response[i].last_name + '"/></a> ';
  74.                             }
  75.                             document.getElementById('friends_list').innerHTML = profilesStr;
  76.                            
  77.                             // http://flapps.ru
  78.                         });
  79.                     }
  80.             });
  81.         });
  82.     });
  83. });
  84. </script>
  85. </head>
  86. <body>
  87. <div id="uids_count"></div>
  88. <div id="friends_list"></div>
  89. <a href="http://flapps.ru">http://flapps.ru</a>
  90. </body>
  91. </html>
Аватара пользователя
maxdjab

 
Сообщения: 13
Зарегистрирован: 26 июн 2013, 19:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


Вернуться в Создание IFrame-приложений ВКонтакте



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0