Передача параметров JavaScript

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

Передача параметров JavaScript

Сообщение BaCo » 18 янв 2011, 14:20

Здравствуйте! Интересует возможность передачи параметров между страницами. Делаю так:
  1. <script src="/js/jquery.js" type="text/javascript"></script>
  2. <script type='text/javascript'>
  3. $(document).ready(function() {
  4.  VK.init(function() {
  5.  function getVkParams() {
  6.  VK.loadParams(document.location.href);
  7.  return 'api_url=' + VK.params.api_url +
  8.  '&api_id=' + VK.params.api_id +
  9.  '&api_settings=' + VK.params.api_settings +
  10.  '&viewer_id=' + VK.params.viewer_id +
  11.  '&viewer_type=' + VK.params.viewer_type +
  12.  '&sid=' + VK.params.sid +
  13.  '&secret=' + VK.params.secret +
  14.  '&user_id=' + VK.params.user_id +
  15.  '&group_id=' + VK.params.group_id +
  16.  '&is_app_user=' + VK.params.is_app_user +
  17.  '&auth_key=' + VK.params.auth_key +
  18.  '&language=' + VK.params.language +
  19.  '&parent_language=' + VK.params.parent_language +
  20.  '&lc_name=' + VK.params.lc_name;
  21. }
  22.  if(location.hash.slice(1)) loc = location.hash.slice(1);
  23.  else loc = window.location.pathname;
  24.  var parts=document.location.search.substr(1).split("&");
  25.  var flashVars={}, curr;
  26.  for (i=0; i<parts.length; i++) {
  27.  curr = parts[i].split('=');
  28.  flashVars[curr[0]] = curr[1];
  29.  }
  30. alert(loc);
  31.  VK.callMethod('setLocation', loc);
  32.  VK.addCallback('onLocationChanged', onLocationChanged);
  33.  VK.api("getProfiles", {uids:flashVars['viewer_id'],fields:"photo"}, function(data) {
  34.  $('#user_name').html(data.response[0].first_name + ' ' + data.response[0].last_name);
  35.  $('#user_photo').attr("src",data.response[0].photo);
  36.  });
  37.  VK.callMethod('resizeWindow', 827, $('#page').height() + 20);
  38.  });
  39. });
  40. function onLocationChanged(loc) {
  41.  if(window.location.pathname != loc && loc != '') {
  42.  window.location.href = 'http://day.guruserv.ru' + loc + '?' + getVkParams();
  43.  }
  44. }
  45. </script>

Но при нажатии на ссылку "Главная", viewer_id и другие переменные теряются. Что делать?
Аватара пользователя
BaCo

 
Автор темы
Сообщения: 76
Зарегистрирован: 28 дек 2010, 11:48
Откуда: Россия, Череповец
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.

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

Google
 



Re: Передача параметров JavaScript

Сообщение ukhov » 18 янв 2011, 16:30

1) а где сама ссылка?
2) передавать не на javascript а просто за счёт добавления полученных данных из getа
Изображение
Аватара пользователя
ukhov
Модератор
Модератор
 
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19
Откуда: Санкт-Петербург
Благодарил (а): 85 раз.
Поблагодарили: 155 раз.

Re: Передача параметров JavaScript

Сообщение BaCo » 19 янв 2011, 14:43

1) Проблема в том, что заранее неизвестно, как будет выглядеть ссылка.
2) Нужно чтобы переход по ссылке перехватывался и добавлялись эти параметры из гета. Как это сделать?
Аватара пользователя
BaCo

 
Автор темы
Сообщения: 76
Зарегистрирован: 28 дек 2010, 11:48
Откуда: Россия, Череповец
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.

Re: Передача параметров JavaScript

Сообщение Александр » 19 янв 2011, 20:51

BaCo
Попробуй сделать

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

Re: Передача параметров JavaScript

Сообщение BaCo » 23 янв 2011, 17:56

Попробуй вынести функцию function getVkParams() за пределы VK.init.

Не получилось. Все равно не работает...
Я бы заносил viewer_id в сессию, да нет возможности использовать PHP.
Аватара пользователя
BaCo

 
Автор темы
Сообщения: 76
Зарегистрирован: 28 дек 2010, 11:48
Откуда: Россия, Череповец
Благодарил (а): 1 раз.
Поблагодарили: 7 раз.

Re: Передача параметров JavaScript

Сообщение Александр » 23 янв 2011, 22:38

BaCo писал(а):Проблема в том, что заранее неизвестно, как будет выглядеть ссылка.

Нужно сделать чтобы было известно, что в ссылке передаются параметры. К ней данные из getVkParams() добавляешь? Выясни где у тебя пропадают переменные.
Ссылки должны быть примерно http://flapps.ru/script.php?viewer_id=1&viewer_type=1
Если в ссылке этих переменных нет, то их скрипт и не найдёт.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45
Откуда: Санкт-Петербург
Благодарил (а): 126 раз.
Поблагодарили: 771 раз.


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



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

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