Передача параметров в iframe-приложение через ссылку

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
tsorf
Сообщения: 6
Зарегистрирован: 09 мар 2012, 21:40

Передача параметров в iframe-приложение через ссылку

Сообщение tsorf »

День добрый!
Скажите, а есть ли какой-нибудь способ передать в iframe-приложение GET-параметры через ссылку вида vk.com/app1234567?custom=test ?
По всей видимости, это невозможно?
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Передача параметров в iframe-приложение через ссылку

Сообщение alexei »

Можно передавать нужные параметры через #. Пример: vk.com/app1234567#test
tsorf
Сообщения: 6
Зарегистрирован: 09 мар 2012, 21:40

Re: Передача параметров в iframe-приложение через ссылку

Сообщение tsorf »

Спасибо, теперь другой вопрос: это только у меня onLocationChanged нормально работает только в хроме? В опере ссылка с хэшем вообще не обрабатывается, в файрфоксе - через раз без всякой закономерности.
tsorf
Сообщения: 6
Зарегистрирован: 09 мар 2012, 21:40

Re: Передача параметров в iframe-приложение через ссылку

Сообщение tsorf »

Поправка: коллбэк-функция, навешенная на onLocationChanged, не врубается при старте приложения (при запуске по ссылке с хэшем), хотя событие происходит. Если уже после старта ручками менять хэш, в файрфоксе все работает, но ручками мне нафиг не надо. А в опере не работает вообще нигде и никак.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Передача параметров в iframe-приложение через ссылку

Сообщение Serge »

tsorf писал(а):Поправка: коллбэк-функция, навешенная на onLocationChanged, не врубается при старте приложения (при запуске по ссылке с хэшем), хотя событие происходит. Если уже после старта ручками менять хэш, в файрфоксе все работает, но ручками мне нафиг не надо. А в опере не работает вообще нигде и никак.
У меня работает в Хроме, Опере, ИЕ9.
Сразу вхожу по ссылке app#hash.

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

function onLocationChanged(location){    if (location !== '')    {        alert(location);        VK.callMethod("setLocation", '');    }} VK.init(function(){    VK.addCallback('onLocationChanged', onLocationChanged);});
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: Передача параметров в iframe-приложение через ссылку

Сообщение gpv123 »

Документация писал(а):Для IFrame приложений также передаётся hash запроса (данные после символа # в строке адреса) в параметре hash.
tsorf
Сообщения: 6
Зарегистрирован: 09 мар 2012, 21:40

Re: Передача параметров в iframe-приложение через ссылку

Сообщение tsorf »

Serge писал(а):
tsorf писал(а):Поправка: коллбэк-функция, навешенная на onLocationChanged, не врубается при старте приложения (при запуске по ссылке с хэшем), хотя событие происходит. Если уже после старта ручками менять хэш, в файрфоксе все работает, но ручками мне нафиг не надо. А в опере не работает вообще нигде и никак.
У меня работает в Хроме, Опере, ИЕ9.
Сразу вхожу по ссылке app#hash.

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

function onLocationChanged(location){    if (location !== '')    {        alert(location);        VK.callMethod("setLocation", '');    }} VK.init(function(){    VK.addCallback('onLocationChanged', onLocationChanged);});

а в файрфоксе?
я тут вроде бы тоже разобрался со всеми браузерами, кроме него
при загрузке приложения функция не срабатывает, если затем обновить страницу с другим хэшем - все ок
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: Передача параметров в iframe-приложение через ссылку

Сообщение gpv123 »

tsorf, я, кажется, уже подсказал кроссбраузерный способ.

Чтобы узнать первоначальный хеш, нужно вытащить его значение из GET-запроса. Это можно сделать до инициализации VK. Пример:

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

var hash = decodeURI(location.search.replace(/.*hash\=([^&]*).*/, "$1"));if (hash != "") alert(hash);
tsorf
Сообщения: 6
Зарегистрирован: 09 мар 2012, 21:40

Re: Передача параметров в iframe-приложение через ссылку

Сообщение tsorf »

что-то я затупил, большое спасибо.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Передача параметров в iframe-приложение через ссылку

Сообщение Serge »

tsorf писал(а):а в файрфоксе?
я тут вроде бы тоже разобрался со всеми браузерами, кроме него
при загрузке приложения функция не срабатывает, если затем обновить страницу с другим хэшем - все ок
Да, работает. Специально поставил фф...
Ответить