Проблемы с viewer_id в фрейме

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
ari1997
Сообщения: 104
Зарегистрирован: 07 июл 2012, 18:08

Проблемы с viewer_id в фрейме

Сообщение ari1997 »

фрейм приложение .
есть еще один фрейм в фрейм приложении .
код:

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

 <html><head><script src="http://vkontakte.ru/js/api/openapi.js" type="text/javascript" charset="windows-1251"></script><script type="text/javascript" src="http://vk.com/js/api/xd_connection.js?2"></script><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script></head> <script type="text/javascript" charset="cp1251" >parent.VK.init(function() { }) 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];}var viewer_id = flashVars['viewer_id']; parent.VK.api("users.get", {"uids":viewer_id ,"fields":"photo"}, function(data) {$('#you1').html('<a href="http://vk.com/id'+viewer_id+'" target="_blank"><img src="'+data.response[0].photo+'"></a>'); document.getElementById('you2').innerHTML =  '<a href="http://vk.com/id'+viewer_id+'" target="_blank">' +data.response[0].first_name + ' ' + data.response[0].last_name + '</a>';});  </script><body><div id="you1"></div><div id="you2"></div></body></html>
Когда нажимаешь на картинку должен перейти на вашу страницу , а переходит на http://vk.com/idundefined
Вот приложение - http://vk.com/app3479049
Как это исправить ?
Casperovskii
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50

Re: проблемы с viewer_id

Сообщение Casperovskii »

ari1997
Скорее всего, в том фрейме, из которого осуществляется переход не видит переменных flashVars. Их ему должен передать родительский фрейм или главный, в котором эти переменнные определены. Как это реализуется - не знаю (именно код не знаю), но здесь на форуме где-то было.
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: проблемы с viewer_id

Сообщение sasha^ »

да, Casperovskii прав.
все данные передаются странице, указанной в настройках приложения и все...
поэтому главная страница должна их получить и отдавать фреймам, если нужно.
ari1997
Сообщения: 104
Зарегистрирован: 07 июл 2012, 18:08

Re: проблемы с viewer_id

Сообщение ari1997 »

Посмотрел как устроен главный фрейм вконтакте .
Поглядел на ссылку и подумал 'А вдруг получится?' .
заменил ссылку на фрейм так так это сделано в главном.
И получилось ,но только для меня !
осталось только подправить чтобы отображал не только меня , а того кто просматривает приложение !
Вот фрейм:

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

<iframe src="/VK-COM/Pirate-network/htm/test/2.htm?api_url=http://api.vk.com/api.php&api_id=2832429&api_settings=1977855&viewer_id=86513777&viewer_type=2&sid=86d7bc24d1ccc158e22f7ea70939503db88909c82caf3da937a3f0591c525ea6897a4968b6b773c78af0b&secret=e86f7fe44c&access_token=1c78908bdc4d1626f08ee3a075a18b22bfdb0c7fcbe342fd8c00a6c81c2f9acc52ef25eb7f1387e78999e&user_id=86513777&group_id=0&is_app_user=1&auth_key=4ef2647e61c699683a83c4d78e2c0f4a&language=0&parent_language=0&ad_info=ElsdCQlaRFRnAgNcAwJSXHt6B0Q8HTJXUVBBJRVBNwoIFjI2HA8E&referrer=menu&lc_name=990901ac&hash=" width="100%" height="500"  border="100" frameborder="1" framespacing="0" MARGINWIDTH="0" MARGINHEIGHT="0"></iframe>
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: проблемы с viewer_id

Сообщение alexei »

Вот, нафига делать фрейм во фрейме? Это не совсем хорошо.
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: проблемы с viewer_id

Сообщение sasha^ »

alexei, 100% согласен.. ну даже если бы и использовался фрейм во фрейме, то зачем еще нужно отправлять запросы из фрейма фрейма...
я сам непонял, но мы говорим о том, как реализовать данную фигню :lol:
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: проблемы с viewer_id

Сообщение alexei »

sasha^, зачем реализовывать, иногда лучше думать, как без нее обойтись.
ari1997
Сообщения: 104
Зарегистрирован: 07 июл 2012, 18:08

Re: проблемы с viewer_id

Сообщение ari1997 »

НУ и как ?
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: проблемы с viewer_id

Сообщение sasha^ »

alexei, с этим я согласен, но человеку захотелось так)) ну и объяснить ему все плюсы(хотя их нет)/минусы и доказать почему так будет долго...

По теме: к фреймам можно обращаться через их имя frame_name.function_name
а к родителю через parent

З.Ы. готовый код вам писать вряд-ли кто-то будет, подумайте сами..
ari1997
Сообщения: 104
Зарегистрирован: 07 июл 2012, 18:08

Re: проблемы с viewer_id

Сообщение ari1997 »

Вот написал нубский код который не работает !

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

 <html><head><script src="http://vkontakte.ru/js/api/openapi.js" type="text/javascript" charset="windows-1251"></script><script type="text/javascript" src="http://vk.com/js/api/xd_connection.js?2"></script><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script></head> <script type="text/javascript" charset="cp1251" >VK.init(function() { }) 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];}var viewer_id = flashVars['viewer_id']; VK.api("users.get", {"uids":viewer_id}, function(data) {$('#you1').html('<iframe src="/VK-COM/Pirate-network/htm/test/99.htm?api_url=http://api.vk.com/api.php&viewer_id='+viewer_id+'&" width="100%" height="500"  border="100" frameborder="1" framespacing="0" MARGINWIDTH="0" MARGINHEIGHT="0"></iframe>'});</script> <body><div id="you1"></div></body></html>
наверно проблема кроется на 20-й строке :mrgreen:
Ответить