Не работает javascript

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Ardoms
Сообщения: 79
Зарегистрирован: 16 ноя 2010, 21:37

Не работает javascript

Сообщение Ardoms »

В iframe приложение не работает javascript - если через localhost все нормально - через окно iframe вконтакте не работает - кто что посоветует ?
Аватара пользователя
alexandr_ratush
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47

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

Сообщение alexandr_ratush »

Как именно не работает? Какие ошибки?
Аватара пользователя
maxdjab
Сообщения: 13
Зарегистрирован: 26 июн 2013, 19:43

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

Сообщение maxdjab »

Та же беда( не работает js.вк методы. Все что не касается вк работает на ура. Думал где то конфликт, взял готовое решение с сайта и тоже 0. Есть у кого какие советы?

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

<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 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> ';                            }                            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>
Ответить