Советы

"ВКонтакте" разработал API для создания iFrame-приложений.

В самой популярной российской социальной сети "ВКонтакте" недавно произошло событие, которого долго ждали программисты на JavaScript. Появилась возможность создавать свои iFrame-приложения для взаимодействия с программным API этой сети. Для этого можно теперь использовать как Flash, так и сценарии JavaScript и любую другую технологию на стороне клиента.

Событие это тем более знаменательно, что, несмотря на обилие существующих клиентских технологий, JavaScript был и остается доброй старой технологией, которая широко используется Web-разработчиками, и если вы обратили внимание на эту заметку, то, наверняка, обладаете некоторым представлением об этом языке. Поэтому, новость о том, что JavaScript теперь позволит задействовать все возможности "ВКонтакте", не может не радовать Web-разработчиков.

Что такое iFrame-приложения? В сети "ВКонтакте" iFrame-приложение - это обыкновенная Web-страница, которая предназначена отображаться в "плавающем фрейме", задаваемом тегом на странице социальной сети "ВКонтакте". Ваша страница должна быть доступна с вашего сервера, в "Контакт" ее загрузить нельзя. То есть, в отличие от "контактных" разработчиков приложений на Flash, вам придется приобрести свой сервер, что, впрочем, с лихвой покрывается возможностью использования всех преимуществ традиционных приложений под Web.

iFrame-приложения могут содержать как одну, так и из несколько страниц. Эти страницы могут быть как статическими, так и генерируемыми на сервере или, даже, создаваемыми на стороне клиента с помощью технологии AJAX. Для генерации контента этих страниц вы можете использовать информация со своего или со сторонних серверов "мировой сети".

На страницах iFrame-приложения можно размещать код HTML и JavaScript, а также Flash, Silverlight и Java-апплеты, если посчитаете это нужным. iFrame-приложения смогут использовать все возможности обычных, ранее существовавших методов API сети "ВКонтакте", и большинство возможностей, ранее доступных только интерактивным Flash-приложениям через специальный Flash-контейнер.

API сети "ВКонтакте" может быть вызвано отправкой специально составленного запроса методом GET по адресам http://api.vkontakte.ru/api.php и http://api.vk.com/api.php . Выбор адреса зависит от того, по какому адресу работает пользователь сети. Интерактивные возможности интерфейса сети "ВКонтакте" вызываются с помощью использования объекта VK библиотеки xd_connection.js , которая доступна по любому из адресов: http://vkontakte.ru/js/xd_connection.js и http://vk.com/js/xd_connection.js .

API "ВКонтакте" - это строго клиентская технология, которая допускает обращения к себе только со стороны браузера клиента, то есть непосредственно в браузере клиента с помощью JavaScript или другой поддерживаемой браузером клиентской технологии.

Разработчик должен твердо усвоить, что с API "ВКонтакте" можно работать только на стороне клиента, а потому не стоит и пытаться вызывать методы этого API с сервера, используя сценарии PHP, Python или Perl. Секрета в такой особенности API "ВКонтакте" никакого нет, просто при вызове свойств и методов API "ВКонтакте" со стороны клиента серверному приложению "ВКонтакте", которое отвечает за работу API, передаются данные из cookies пользователя, работающего в данный момент с приложением.

Это делается для того, чтобы "Контакт" мог определить, какой пользователь работает в сети и имеет ли он право производить в приложении данные действия. Разработчику iFrame-приложения так даже проще: не приходится беспокоиться о безопасности, "Контакт" уже выполнил за него эту работу.

В данном новостном обзоре мы не беремся описывать технологию разработки iFrame-приложений под социальную сеть "ВКонтакте", и не будем рассматривать особенности применения его API в скриптах JavaScript. Заинтересовавшиеся могут узнать все эти подробности из официальной документации сервиса "ВКонтакте", которую можно найти на странице "

Для поиска вопросов можно воспользоваться функцией поиска слов или фраз на странице. Для вызова этой функции используйте комбинацию клавиш Ctrl+F .

Общие вопросы

Подтвержденный аккаунт — аккаунт с привязанным (подтвержденным) номером телефона.

Вопросы, связанные с приложением

Защищённый ключ обеспечивает безопасность передачи данных между вашим приложением и ВКонтакте.

1. Редактирование ».

2. Перейдите во вкладку «Настройки ».

3. Перед вами защищённый ключ приложения .

2. Выберите тип «IFrame/Flash приложение ».

5. Перейдите к загрузке приложения.

6. Зайти на страницу приложения, затем в раздел «Редактирование ».

7. Перейдите во вкладку «Настройки ».

8. Поменяйте состояние на «Приложение включено и видно всем » (очень важно! иначе многие модули приложения будут работать некорректно).

9. Выберите тип приложения «IFrame ».

10. Введите адрес IFeame: «http://appvds.ru/ » (без пробелов).

11. Введите HTTPS-адрес IFeame: «https://appvds.ru/ » (без пробелов).

12. Укажите размер IFrame: 800 x 0 px.

13. Сохраните изменения.

1. Если вы установили расширение «Свой шаблон», то чтобы работала автовысота, оберните всё содержимое в

2. Возможно, вы установили отрицательную или слишком малую добавочную высоту. Её значение можно изменить в настройках приложения в управлении приложением на 3apps .

HTML

Сначала вы подаёте заявку на подключение HTML вообще к аккаунту на этой странице.

Статус заявки на подключение становится: рассматривается . На той же странице подключения HTML можно заказать звонок робота. Робот продиктует код, который нужно будет ввести на сайте, после чего HTML будет подключён к аккаунту. Если же по каким-либо причинам вы пропустили звонок робота или просто решили не заказывать звонок, то в течение 72 часов наша служба поддержки позвонит вам и уточнит, регистрировались ли вы на сайте Free Apps. Вы должны ответить положительно. После этого HTML будет подключён к аккаунту.

Отслеживать статус заявки можно на той же странице , либо на странице настроек (Аккаунт » HTML). Как только HTML будет подключён, вы получите sms-оповещение об этом.

Если во время звонка ваш номер будет недоступен или занят, заявка на подключение HTML будет отклонена, а деньги возвращены на ваш баланс. То есть потом можно будет повторить процедуру подключения HTML снова.

Теперь самое главное. У вас уже подключён HTML к аккаунту. Теперь осталось подключить его к нужному приложению. Для этого зайдите в управление приложением на 3apps , затем в раздел «Настройки » и нажмите на кнопку «Подключить» в подразделе «HTML ».

SSL

Если коротко – то для того, чтобы приложение работало у той части пользователей (5-30%), которая заходит в контакт по HTTPS.

SSL – это протокол, который обеспечивает безопасность при просмотре веб-страниц, обмене сообщениями электронной почты и мгновенными сообщениями, а также при передаче данных другими способами.

Около 5-30% пользователей ВКонтакте заходят на сайт через HTTPS (SSL). Именно этим пользователям недоступны IFrame-приложения, у которых нет поддержки SSL.

Расширение «VIP-место»

1. Установите расширение «VIP-место ».

2. Зайдите в управление данным расширением.

3. Создайте новое VIP-место.

4. Скопируйте переменную для вставки блока и вставьте её на нужную страницу в виде обычного текста в то место, где вы хотите видеть блок VIP-места.

Создайте таблицу: 1 строка, 3 (или сколько вам нужно VIP-мест) столбца. И в каждом столбце поместите блок VIP.

Пример BBcode:

{VIP_12345} {VIP_12345} {VIP_12345} Где {VIP_12345} - переменные блоков VIP-мест.

Пример HTML:

{VIP_12345} {VIP_12345} {VIP_12345}
Где {VIP_12345} - переменные блоков VIP-мест.

Используйте {VIP_N_UID}, {VIP_N_UFN}, {VIP_N_ULN} (N - идентификатор VIP-места) для отображения UserID, имени и фамилии соответсвенно. Пример: если блок вызывается переменной {VIP_12345}, то имя будет вызываться так.

Вопрос: Flash приложение как iFrame отображающее сайт


Доброго времени суток!

Друзья, столкнулся с такой штукой где нужна очень срочно ваша помощь с флеш!
Но дело в том что я вообще не знаю его и даже не знаю на чём его писать

В общем не буду вокруг да около ходить и расскажу всю суть и что мне требуется

Поехали:

В общем занимаемся игрушками на Unity3D и пишем игры под браузер
(Не про) чисто любители поюзать и просто что-то похимичить

Дело в том что игрушки хотим добавить в ВК, там можно использовать их как iFrame

То есть заливаешь их на бесплатный хостинг и просто указываешь ссылку и всё , игра работает
но сейчас там новая фича появилась, требуется 2 ссылки,
первая идёт как http://domain.com/game.html
первая идёт как httpS://domain.com/game.html

Халявные хостинги не поддерживают HTTPS , ну то есть сертификаты SSL

Зашёл на форум руофф юнити, там ребята подсказали что возьми приложение переключи не iFrame а Flash и загрузи туда флешку

А флешку создай самую простую которая будет как iFram , ну то есть сама name.swf будет типа как iFrame и пропиши туда свой адресс

В общем вот такие качели, делиться там не хотят как это делать, пытаются впарить как всегда наработки, но я из простого народа, не имеющего ни навыков ни финансов, да и другой вопрос был бы - если бы проект комерческий, а так всё от скуки юзабельня...

Очень благодарен буду если кто-то разжуёт что к чему и как это сделать!
Благодраствую за выделенное внимание!

Вопрос: Создать простое Flash приложение


Помогите пожалуйста. Нужно создать простое приложение для сайта сделанное в Joomla

Ответ: если хотите создать приложение, то начните с эскизов или сразу из аним объектов.
а дальше можно и к коду
например есть персонаж Char
и есть карта MapMC

Вопрос: Получения данных из Flash на странице


Добрый день подскажите каким образом можно получить данные из Flash-а который отображает на странице цифры? Это вообще возможно или нет? В HTML разметке этой флейш игры все имеет вид . Подскажите что можно сделать? Доступ к файлам на жестком диске есть, но как найти что конкретно отвечает за это?

Добавлено через 8 минут
Может можно использовать какой-то Dump Flash Decomplier? Но что декомпилировать?

Ответ: Может быть это поможет?

Вопрос: Код ответа сервера и обновление iframe


Здравствуйте
Хотел бы реализовать следующее: на странице, через iframe, выводится сайт, если сайт в iframe не загружается (код ответа сервера этого сайта не 200), то iframe должен автоматические перезагрузиться. И авто перезагрузка идет до тех пор, пока код ответа сайта в iframe не станет 200.
Возможно такое реализовать?
Нашел код автообновление страницы
var lnk = "http://javascript.ru/"; //Ваша ссылка; function setSRC() { document.getElementById("frame").src=lnk; } setSRC() setInterval(setSRC,20000);

Вычитал, что код ответа можно получить через XMLHttpRequest. Но совместить все вместе не получается, не хватает знаний

Ответ: Большое спасибо, сам накосячил. Все работает

Вопрос: iFrame и яндекс.диск


Добрый вечер. Почему не получается загрузить во фрейм сайт? Если другой сайт указать то все норм.
Ваш браузер не поддерживает плавающие фреймы!

Ответ: header("X-Frame-Options: SAMEORIGIN");
вот так это делается в php

Этот заголовок говорит браузеру, что нельзя открывать меня в iframe чужого сайта (только своего). Можно включить запрет полностью.

Вопрос: Вывод iframe http на htpps


Здравствуйте!

Подскажите пожалуйста, кто знает как вывести чрез iframe страницу сайта на http на сайт работающий по https.

Ответ:
никак, в современных браузерах политика полностью запрещает смешанный контент. Если сайт работает по https весь подключаемый контент должен работать по защищённому протоколу.

Вопрос: Как найти Iframe


Здравствуйте, помогите найти Iframe на сайте

Ответ: ЕкатеринаМ , при проверке сайта, мне говорят что это не ролик)
Это скрытый код, возможно вредоносный) гугл сказал что все норм (проверил подозрительные ссылки в settings.php, index.php, и др.)
Но этот код значительно влияет на оптимизацию

Вопрос: проблема после обновления Flash Player


Добрый день! После обновления Adobe Flash Player ролик на сайте перестал проигрываться. Ролик(swf) начинает воспроизводится, сразу останавливается и до нажатия на Play или "запустить подключаемый модуль" в контекстном меню перестаёт показывать.

Swf-ролик лежит на другом хосте.

Подскажите, пожалуйста, как это исправить.
Скрин в аттаче.

Ответ:

Вопрос: Браузер внутри сайта (аналоги iframe)


Приветствую)
Пробую сделать браузер внутри сайта

Iframe - идеально подходит для этого, но он отображает не все сайты (к примеру не отображает соцсети), а хотелось бы все, поэтому ищу другие способы

Например такой

function Navigate(url) { // с помощью ajax отправляем на наш сервер запрос с адресом нужного сайта url = "http://vta.aws.krysalix.com/browser/navigate?url=" + url + "¶m=" + Math.random() + "&"; $.ajax({ type: "GET", url: url, dataType: "json", success: OnSuccessFunctionNav }); } function OnSuccessFunctionNav(data) { // в ответ получаем код того сайта и вставляем его в div document.getElementById("divNav").innerHTML = data.response; }

С помощью ajax отправляем на наш сервер запрос с адресом
в ответ получаем код того сайта и вставляем его в div
но вместе с кодом того сайта мы получаем и его стили, и его ошибки
может можно как-то это исправить?
или есть еще какие-либо способы решения данной задачи?

Ответ: ккак бы исходный код получить?