Страница 1 из 1

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

Добавлено: 03 окт 2010, 16:15
Александр
Получение параметров (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. Создавать отдельную функцию, как в первом способе, нет смысла.

Оба эти способа работают, но второй более удобный. Рекомендую использовать его в своих приложениях.

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

Добавлено: 04 окт 2010, 09:52
azzzi
я бы не советовал применять такой метод. во первых это не задокументированная возможность, а во вторых xd_connection.js могут поменять и не будет выводиться ничего :) лучше делать так как положено, чтобы не пришлось переделывать код.

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

Добавлено: 05 окт 2010, 19:16
Александр
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 возможно тоже где-то написано.

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

Добавлено: 16 окт 2010, 14:51
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); 
Другие параметры можно добавить по аналогии)))

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

Добавлено: 12 ноя 2010, 16:06
daniska
как можно вытащить из явы переменную в пхп? чтобы в этом же файле все было.

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

Добавлено: 12 ноя 2010, 16:17
bodnar
это только ajax (яваскрипт вызывает какой то скрип php в который передает post или get параметры и тот скрипт что то делает)

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

Добавлено: 12 ноя 2010, 16:25
daniska
bodnar писал(а):это только ajax (яваскрипт вызывает какой то скрип php в который передает post или get параметры и тот скрипт что то делает)
ну допустим есть форма и кнопочка которая оптравляет пост запрос. жму я на кнопку и там мне нужно чтобы сверило ид из базы sql с тем который авторизован. Через ajax получиться..? :?:

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

Добавлено: 13 ноя 2010, 00:34
Александр
daniska
получится.