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

Готовые уроки IFrame + ВКонтакте API

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

Сообщение Александр » 03 окт 2010, 16:15

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

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

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

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



При создании приложения вконтакте, после инициализации API, можно делать так:
  1.     VK.loadParams(document.location.href);
  2.     var viewer_id = VK.params.viewer_id;

Это практически то же самое, но функция обработки параметров уже записана в файле xd_connection.js. Создавать отдельную функцию, как в первом способе, нет смысла.

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

За это сообщение автора Александр поблагодарил:
T710MA
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Google
 



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

Сообщение azzzi » 04 окт 2010, 09:52

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

 
Сообщения: 164
Зарегистрирован: 13 сен 2010, 19:24
Благодарил (а): 12 раз.
Поблагодарили: 9 раз.

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 возможно тоже где-то написано.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.

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

Сообщение BANAN » 16 окт 2010, 14:51

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

  1.  
  2. with(url_vars = function(){
  3.   //конструктор
  4.   this.get();
  5. }){
  6.   // свойства
  7.   prototype.api_id;
  8.   prototype.viewer_id;
  9.   prototype.auth_key;
  10.  
  11.   // методы
  12.   prototype.get = function(){
  13.     var parts=document.location.search.substr(1).split("&");
  14.     var vars={}, curr;
  15.     for (i=0; i<parts.length; i++)
  16.     {
  17.       curr = parts[i].split('=');
  18.       vars[curr[0]] = curr[1];
  19.     }
  20.     this.api_id = vars['api_id'];
  21.     this.viewer_id = vars['viewer_id'];
  22.     this.auth_key = vars['auth_key'];
  23.   }
  24. }
  25.  
  26. var UV = new url_vars();
  27.  
  28. //пример использования
  29. alert(UV.viewer_id);
  30.  

Другие параметры можно добавить по аналогии)))
Аватара пользователя
BANAN

 
Сообщения: 96
Зарегистрирован: 10 мар 2010, 22:24
Благодарил (а): 2 раз.
Поблагодарили: 15 раз.

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

Сообщение daniska » 12 ноя 2010, 16:06

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

 
Сообщения: 7
Зарегистрирован: 12 сен 2010, 00:30
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение bodnar » 12 ноя 2010, 16:17

это только ajax (яваскрипт вызывает какой то скрип php в который передает post или get параметры и тот скрипт что то делает)
Обязательно к прочтению: ActionScript 3.0 Ошибки среды выполнения
Аватара пользователя
bodnar
Модератор
Модератор
 
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41
Благодарил (а): 16 раз.
Поблагодарили: 185 раз.

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

Сообщение daniska » 12 ноя 2010, 16:25

bodnar писал(а):это только ajax (яваскрипт вызывает какой то скрип php в который передает post или get параметры и тот скрипт что то делает)

ну допустим есть форма и кнопочка которая оптравляет пост запрос. жму я на кнопку и там мне нужно чтобы сверило ид из базы sql с тем который авторизован. Через ajax получиться..? :?:
daniska

 
Сообщения: 7
Зарегистрирован: 12 сен 2010, 00:30
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Александр » 13 ноя 2010, 00:34

daniska
получится.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Автор темы
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.


Вернуться в Уроки IFrame ВКонтакте



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

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

cron