IFrame добавление приложения.

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

IFrame добавление приложения.

Сообщение geralex »

Возможно ли через IFrame используя скрипт php для добавления приложения как использу flash с контейнером, чтобы появлялось окошко с кнопкой Добавить приложение и отмена???
Аватара пользователя
112
Модератор
Модератор
Сообщения: 2215
Зарегистрирован: 02 фев 2010, 21:53

Re: IFrame добавление приложения.

Сообщение 112 »

да...тут даже есть такой урок)))
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: IFrame добавление приложения.

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

Это надо делать яваскриптом.
Ну если тебе именно php, то вот так вот в php вывести javascript код.

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

echo '<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script> <script type="text/javascript" charset="cp1251" >window.onload = (function() {    VK.init(function() {        VK.callMethod("showInstallBox");    });});</script>';
Изучи JavaScript и никогда так не пиши.
Аватара пользователя
wTema
КИДАЛА!
Сообщения: 77
Зарегистрирован: 29 июн 2010, 21:01

Re: IFrame добавление приложения.

Сообщение wTema »

Можете примерно показать в каких случаях он работает:

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

<html><head><!-- подключаем xd_connection.js --><script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script> <script type="text/javascript" charset="cp1251" >window.onload = (function() {   // когда загрузится вся страница    VK.init(function() {    // инициализируем Vk API     // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars    var parts=document.location.search.substr(1).split("&");    var flashVars={}, curr;    for (i=0; i<parts.length; i++) {        curr = parts[i].split('=');        // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1;        flashVars[curr[0]] = curr[1];    }        // получаем viewer_id из полученных переменных    var viewer_id = flashVars['viewer_id'];     // выполняем запрос получения профиля    VK.api("getProfiles", {uids:viewer_id,fields:"photo_big"}, function(data) {         // обрабатываем полученные данные        // выводим имя и фамилию в блок user_info        document.getElementById('user_info').innerHTML = data.response[0].first_name + ' ' + data.response[0].last_name + '<br />';        // создаем img, для отображения аватарки        var image=document.createElement('img');        // из полученных данных берем ссылку на фото        image.src=data.response[0].photo_big;        // добавляем img в блок user_info        user_info.appendChild(image);    });     });});</script></head>echo '<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script> <script type="text/javascript" charset="cp1251" >window.onload = (function() {   VK.init(function() {       VK.callMethod("showInstallBox");   });});</script>';<body><div id="user_info">Loading</div></body></html> 
Не роббит
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: IFrame добавление приложения.

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

wTema
мда...
знаёшь, что php код нужно писать в

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

<?// код?>
А по логике, если тебе нужно вставить код открывающий окно установки приложения, то тебе это ещё раз выводить не надо. Не надо второй раз подключать http://vkontakte.ru/js/api/xd_connection.js

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

<html><head><!-- подключаем xd_connection.js --><script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script> <script type="text/javascript" charset="cp1251" >window.onload = (function() {   // когда загрузится вся страница    VK.init(function() {    // инициализируем Vk API      VK.callMethod("showInstallBox");      // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars    var parts=document.location.search.substr(1).split("&");    var flashVars={}, curr;    for (i=0; i<parts.length; i++) {        curr = parts[i].split('=');        // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1;        flashVars[curr[0]] = curr[1];    }        // получаем viewer_id из полученных переменных    var viewer_id = flashVars['viewer_id'];     // выполняем запрос получения профиля    VK.api("getProfiles", {uids:viewer_id,fields:"photo_big"}, function(data) {         // обрабатываем полученные данные        // выводим имя и фамилию в блок user_info        document.getElementById('user_info').innerHTML = data.response[0].first_name + ' ' + data.response[0].last_name + '<br />';        // создаем img, для отображения аватарки        var image=document.createElement('img');        // из полученных данных берем ссылку на фото        image.src=data.response[0].photo_big;        // добавляем img в блок user_info        user_info.appendChild(image);    });     });});</script></head><body><div id="user_info">Loading</div></body></html>
Читай руководства по javascript, это http://flapps.ru/forum/topic727.html и документацию вконтакте.
geralex
Сообщения: 15
Зарегистрирован: 22 июл 2010, 23:09

Re: IFrame добавление приложения.

Сообщение geralex »

Есть скрипт вида

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

<?$isAppUser = $_GET['is_app_user'];if($isAppUser == 1){echo "<meta http-equiv='Refresh' content='2; url=./vkontakte-index.php'>";}else{echo '<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script> <script type="text/javascript" charset="cp1251" >window.onload = (function() {VK.init(function() {VK.callMethod("showInstallBox");});});</script>';} ?>
Как дописать чтоб после нажатия кнопки Да добавить автоматически пошла загрузка той страницы в случае когда добавлено приложение??
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: IFrame добавление приложения.

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

geralex
onApplicationAdded - Событие происходит, когда пользователь добавляет приложение к себе на страницу.
http://vkontakte.ru/page9279356

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

VK.addCallback("onApplicationAdded", onApplicationAdded); ... function onApplicationAdded() { // do something }
Ответить