callMethod не работает.

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

callMethod не работает.

Сообщение serjo »

iframe приложение.
нужен вывод окна "пригласить друзей" известный как showInviteBox.
что делаю

на главной стоит сохранение сессии

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

<?php header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');if($_GET['viewer_id']) {session_destroy(); session_start();} else { session_start();}  if (!$_SESSION['viewer_id']) {     $auth_key   = $_GET['auth_key'];     $viewer_id  = $_GET['viewer_id'];     $api_url =    $_GET['api_url'];     $_SESSION['viewer_id'] = $viewer_id;     $_SESSION['auth_key'] = $auth_key;     $_SESSION['api_url'] = $api_url;     $_SESSION['user_id'] = $_GET['user_id'];}...тут еще 5 кб кода...?>
вывод showInviteBox стоит не на главной в файле с разрешением .php, внутри

хедер

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

 ...<head>    <title>asd</title>    <script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>   <script type="text/javascript" charset="cp1251" >    VK.init(function() {  }); </script></head>...
в боди

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

...<table cellspacing="0" cellpadding="0" onclick="VK.showInviteBox();"><tr><td>Пригласить</td></tr></table>... 
Сия конструкция не работает, выводит таблицу, клик по ней ничего не даёт.
Тестил с вариантами без кнопки, а с Onload - результат тот же. Старница просто загружается, клик ничего не дает.

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

 <head>...<script type="text/javascript" charset="cp1251" > window.onload = (function() {    VK.init(function() {        VK.callMethod("showInviteBox");    }); }); </script>...</head>
Этот .php подгружается в результет нажатия на кнопку в другом побочном .php, который в свою очередь открывается с главной. Не знаю важно ли это, просто сообщил :)
С удовольствием выслушаю, где и что сделано не так.
serjo
Сообщения: 4
Зарегистрирован: 09 ноя 2010, 16:58

Re: callMethod не работает.

Сообщение serjo »

просмотры вижу есть, ответов нет, наверно проблема в том, что разбираться и смотреть надо, а любой даже мизерный труд должен быть оплачен как минимум пивом :) жду работающий варианта с номером ЯД кошелька.
degressor
Сообщения: 35
Зарегистрирован: 13 окт 2010, 16:04

Re: callMethod не работает.

Сообщение degressor »

Я недавно столкнулся с похожей проблемой, у меня оказалось, что мой домен привязан через iFrame. Тоесть получается iFrame в iFrame. И вот сколко я методы не вызывал, не работало ничего, только те что через аякс к их серверу уходили, те работали. Может у вас так-же?
azzzi
Сообщения: 164
Зарегистрирован: 13 сен 2010, 19:24

Re: callMethod не работает.

Сообщение azzzi »

Попробуй - VK.External.showInviteBox();

если получилось, стучи в асю 874687 для передачи пива ))
azzzi
Сообщения: 164
Зарегистрирован: 13 сен 2010, 19:24

Re: callMethod не работает.

Сообщение azzzi »

кстати что за извращение с таблицами? onclick можно было поставить на div или просто <p>
serjo
Сообщения: 4
Зарегистрирован: 09 ноя 2010, 16:58

Re: callMethod не работает.

Сообщение serjo »

VK.External.CallMethod успешно не работает.

Насчет таблиц, azzzi, попробуй :)

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

 <table cellspacing="0" cellpadding="0" onclick="VK.External.callMethod('showInviteBox', 2048);" style="position: relative; width: auto; cursor: pointer; border: 0px;"><tbody><tr style="line-height: normal;"><td style="vertical-align: middle;"><div style="height: 21px; width: 2px; background-image: url(http://vk.com/images/btns.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: -21px -42px; background-repeat: no-repeat no-repeat; "></div></td><td style="vertical-align: middle;"><div style="border: 1px solid #3b6798; border-left: 0px;"><div style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-width: 0px; border-left-style: initial; color: rgb(255, 255, 255); text-shadow: rgb(69, 104, 142) 0px 1px; height: 15px; padding-top: 2px; padding-right: 4px; padding-bottom: 0px; padding-left: 6px; font-family: tahoma; font-size: 10px; background-color: rgb(109, 143, 179); border-top-color: rgb(126, 156, 188); border-bottom-color: rgb(92, 130, 171); border-right-color: rgb(92, 130, 171); border-left-color: rgb(92, 130, 171); ">Пригласить друзей</div></div></td><td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) 0px -21px no-repeat; width:22px; height: 21px"></div></td><td style="vertical-align: middle;"><div style="border: 1px solid #a2b9d3; border-width: 1px 0px; background-color: #dee6f1; height: 15px; padding: 2px 6px 0px 4px; font-size: 10px; font-weight: bold; font-family: tahoma;display: none">3</div></td><td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) -27px -42px; width: 2px; height: 21px;display: none"></div></td></tr></tbody></table>
:)

degressor, да нет вроде.

Может, у кого-то есть еще варианты, забыл сказать, что за главной все работает.
azzzi
Сообщения: 164
Зарегистрирован: 13 сен 2010, 19:24

Re: callMethod не работает.

Сообщение azzzi »

Что за VK.External.callMethod???

Я же написал - VK.External.showInviteBox();
azzzi
Сообщения: 164
Зарегистрирован: 13 сен 2010, 19:24

Re: callMethod не работает.

Сообщение azzzi »

скопировал ваш код к себе в игру, все работает, вместе с - VK.External.showInviteBox();.

41001256200406 - для клинского :)
serjo
Сообщения: 4
Зарегистрирован: 09 ноя 2010, 16:58

Re: callMethod не работает.

Сообщение serjo »

azzzi, дело в том, что я пробывал и так, и так, строку копировал отсюда, строка номер 156, там тот же External, про какой говорите вы и тот же, в котором второй раз описался я.
http://www.akshell.com/apps/i/code/templates/vk.html
проблема так и не решена, так что клинское пока ждет :))
azzzi
Сообщения: 164
Зарегистрирован: 13 сен 2010, 19:24

Re: callMethod не работает.

Сообщение azzzi »

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

<table cellspacing="0" cellpadding="0" onclick="VK.External.showInviteBox();" style="position: relative; width: auto; cursor: pointer; border: 0px;"><tbody><tr style="line-height: normal;"><td style="vertical-align: middle;"><div style="height: 21px; width: 2px; background-image: url(http://vk.com/images/btns.png); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: -21px -42px; background-repeat: no-repeat no-repeat; "></div></td><td style="vertical-align: middle;"><div style="border: 1px solid #3b6798; border-left: 0px;"><div style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-width: 0px; border-left-style: initial; color: rgb(255, 255, 255); text-shadow: rgb(69, 104, 142) 0px 1px; height: 15px; padding-top: 2px; padding-right: 4px; padding-bottom: 0px; padding-left: 6px; font-family: tahoma; font-size: 10px; background-color: rgb(109, 143, 179); border-top-color: rgb(126, 156, 188); border-bottom-color: rgb(92, 130, 171); border-right-color: rgb(92, 130, 171); border-left-color: rgb(92, 130, 171); ">Пригласить друзей</div></div></td><td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) 0px -21px no-repeat; width:22px; height: 21px"></div></td><td style="vertical-align: middle;"><div style="border: 1px solid #a2b9d3; border-width: 1px 0px; background-color: #dee6f1; height: 15px; padding: 2px 6px 0px 4px; font-size: 10px; font-weight: bold; font-family: tahoma;display: none">3</div></td><td style="vertical-align: middle;"><div style="background: url(http://vk.com/images/btns.png) -27px -42px; width: 2px; height: 21px;display: none"></div></td></tr></tbody></table> 
у меня работает. - http://vkontakte.ru/app1991084
Ответить