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

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Аватара пользователя
BaCo
Сообщения: 76
Зарегистрирован: 28 дек 2010, 11:48

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

Сообщение BaCo »

Здравствуйте! Интересует возможность передачи параметров между страницами. Делаю так:

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

<script src="/js/jquery.js" type="text/javascript"></script><script type='text/javascript'>$(document).ready(function() { VK.init(function() { function getVkParams() { VK.loadParams(document.location.href); return 'api_url=' + VK.params.api_url + '&api_id=' + VK.params.api_id + '&api_settings=' + VK.params.api_settings + '&viewer_id=' + VK.params.viewer_id + '&viewer_type=' + VK.params.viewer_type + '&sid=' + VK.params.sid + '&secret=' + VK.params.secret + '&user_id=' + VK.params.user_id + '&group_id=' + VK.params.group_id + '&is_app_user=' + VK.params.is_app_user + '&auth_key=' + VK.params.auth_key + '&language=' + VK.params.language + '&parent_language=' + VK.params.parent_language + '&lc_name=' + VK.params.lc_name;} if(location.hash.slice(1)) loc = location.hash.slice(1); else loc = window.location.pathname; var parts=document.location.search.substr(1).split("&"); var flashVars={}, curr; for (i=0; i<parts.length; i++) { curr = parts[i].split('='); flashVars[curr[0]] = curr[1]; }alert(loc); VK.callMethod('setLocation', loc); VK.addCallback('onLocationChanged', onLocationChanged); VK.api("getProfiles", {uids:flashVars['viewer_id'],fields:"photo"}, function(data) { $('#user_name').html(data.response[0].first_name + ' ' + data.response[0].last_name); $('#user_photo').attr("src",data.response[0].photo); }); VK.callMethod('resizeWindow', 827, $('#page').height() + 20); });});function onLocationChanged(loc) { if(window.location.pathname != loc && loc != '') { window.location.href = 'http://day.guruserv.ru' + loc + '?' + getVkParams(); }}</script>
Но при нажатии на ссылку "Главная", viewer_id и другие переменные теряются. Что делать?
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

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

Сообщение ukhov »

1) а где сама ссылка?
2) передавать не на javascript а просто за счёт добавления полученных данных из getа
Аватара пользователя
BaCo
Сообщения: 76
Зарегистрирован: 28 дек 2010, 11:48

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

Сообщение BaCo »

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

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

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

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

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

alert(getVkParams());
Попробуй вынести функцию function getVkParams() за пределы VK.init.
Аватара пользователя
BaCo
Сообщения: 76
Зарегистрирован: 28 дек 2010, 11:48

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

Сообщение BaCo »

Попробуй вынести функцию function getVkParams() за пределы VK.init.
Не получилось. Все равно не работает...
Я бы заносил viewer_id в сессию, да нет возможности использовать PHP.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

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

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

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