Получение параметров (viewer_id и т.п.) в IFrame-приложении

Готовые уроки IFrame + ВКонтакте API
Ответить
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Получение параметров (viewer_id и т.п.) в IFrame-приложении

Сообщение Александр »

Получение параметров (viewer_id, api_id, auth_key и т.п.) в IFrame-приложении

Если вы уже видели урок IFrame-приложение ВКонтакте. Вывод информации о пользователе и используете часть кода при создании своих IFrame-приложений, то эта информация может быть вам полезна.

В IFrame-приложение эти переменные передаются посредством GET-параметров запроса.
В коде из того урока я обрабатывал эти данные напрямую.
Чуть более детально изучив взаимодействие с ВКонтакте API из IFrame-приложения, а именно файл xd_connection.js, я узнал, что получить эти переменные можно более простым способом.

В том уроке был такой код:

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

     // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars    var parts=document.location.search.substr(1).split("&");    var flashVars={}, curr;    for (i=0; i<parts.length; i++) {        curr = parts[i].split('=');        // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1;        flashVars[curr[0]] = curr[1];    }     // вытаскиваем viewer_id из полученных переменных    var viewer_id = flashVars['viewer_id'];

При создании приложения вконтакте, после инициализации API, можно делать так:

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

     VK.loadParams(document.location.href);    var viewer_id = VK.params.viewer_id;
Это практически то же самое, но функция обработки параметров уже записана в файле xd_connection.js. Создавать отдельную функцию, как в первом способе, нет смысла.

Оба эти способа работают, но второй более удобный. Рекомендую использовать его в своих приложениях.
azzzi
Сообщения: 164
Зарегистрирован: 13 сен 2010, 19:24

Re: Получение параметров (viewer_id и т.п.) в IFrame-приложении

Сообщение azzzi »

я бы не советовал применять такой метод. во первых это не задокументированная возможность, а во вторых xd_connection.js могут поменять и не будет выводиться ничего :) лучше делать так как положено, чтобы не пришлось переделывать код.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Получение параметров (viewer_id и т.п.) в IFrame-приложении

Сообщение Александр »

azzzi
Может быть... Хотя зачем им убирать это?
Про VK.Module в документации тоже не написано, но если почитать темы:
Заключительным нововведением на сегодня является добавление объекта VK.Modules, позволяющий загружать дополнительные Javascript-модули.
Пока модуль всего один - MD5. Подключить его Вы можете так: VK.Modules.load('md5', function() {
alert('module loaded');
});
После чего станет доступной функция VK.md5.
http://vkontakte.ru/topic-1_22843125

Про VK.loadParams возможно тоже где-то написано.
Аватара пользователя
BANAN
Сообщения: 96
Зарегистрирован: 10 мар 2010, 22:24

Re: Получение параметров (viewer_id и т.п.) в IFrame-приложении

Сообщение BANAN »

А можно вообще создать свой класс:

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

 with(url_vars = function(){  //конструктор  this.get();}){  // свойства  prototype.api_id;  prototype.viewer_id;  prototype.auth_key;    // методы  prototype.get = function(){    var parts=document.location.search.substr(1).split("&");    var vars={}, curr;    for (i=0; i<parts.length; i++)     {      curr = parts[i].split('=');      vars[curr[0]] = curr[1];    }    this.api_id = vars['api_id'];    this.viewer_id = vars['viewer_id'];    this.auth_key = vars['auth_key'];  }} var UV = new url_vars(); //пример использованияalert(UV.viewer_id); 
Другие параметры можно добавить по аналогии)))
daniska
Сообщения: 7
Зарегистрирован: 12 сен 2010, 00:30

Re: Получение параметров (viewer_id и т.п.) в IFrame-приложении

Сообщение daniska »

как можно вытащить из явы переменную в пхп? чтобы в этом же файле все было.
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Получение параметров (viewer_id и т.п.) в IFrame-приложении

Сообщение bodnar »

это только ajax (яваскрипт вызывает какой то скрип php в который передает post или get параметры и тот скрипт что то делает)
daniska
Сообщения: 7
Зарегистрирован: 12 сен 2010, 00:30

Re: Получение параметров (viewer_id и т.п.) в IFrame-приложении

Сообщение daniska »

bodnar писал(а):это только ajax (яваскрипт вызывает какой то скрип php в который передает post или get параметры и тот скрипт что то делает)
ну допустим есть форма и кнопочка которая оптравляет пост запрос. жму я на кнопку и там мне нужно чтобы сверило ид из базы sql с тем который авторизован. Через ajax получиться..? :?:
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Получение параметров (viewer_id и т.п.) в IFrame-приложении

Сообщение Александр »

daniska
получится.
Ответить