Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.09.2013, 09:25
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 11  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Готов поспорить, что дело в том, что flashVars не передаются. Сначала надо сделать айфрейм таким образом, чтобы туда передавались флешварсы с одноклассников
У меня вот такой айфрейм
Код:
<html>

<head>
    <script
    src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
        <script src="js/swfobject.js"></script>
            <link rel="stylesheet" href="style.css" />
            <title></title>
            <meta name="description" content="" />
            <script>
                var m_pref = "http://";
                if (window.location.protocol == "https:") {
                    m_pref = "https://";
                }
                var m_preloaderPath 	= m_pref + "app.vk.com/c6092/u*******/740d786e650df3.swf";
                var m_movieName 		= m_pref + "";
				var m_swfID				= "FlashSWF";
				var m_swf				= null;
				var fbChannelURL		= m_pref + "mysite.com/fb/channel.html";
				var fbAppID				= "191105307723956";
                var m_token 			= "";
				var m_server 			= m_pref + "mysite.com/";
				var m_asset_server 		= m_pref + "mysite.com/";
                var m_friendsList 		= "[ ";
				var m_httpVars 			= window.location.search.substring(1).split("&");
				var m_urlvars			= {};
				var m_port				= 9110;
				// for vk and ok
				for (var i in m_httpVars) {
					var s 		= String(m_httpVars[i]).split("=");
					var key 	= String(s[0]);
					var value 	= String(s[1]);
					m_urlvars[key] = value;
				}
				
				// for vk or ok
				
				if (m_urlvars['viewer_id'] || m_urlvars['logged_user_id']) {
					initIframe(m_urlvars); 
				} else {
					
					$(document).ready(function () {

						$.ajaxSetup({
							cache: true
						});
						$.getScript('//connect.facebook.net/en_UK/all.js', function () {
							
							FB.init({
								appId: fbAppID,
								channelUrl: fbChannelURL
							});
							FB.getLoginStatus(function (response) {
								
								if (response.status === 'connected') {
									
									m_token = response.authResponse.accessToken;
									connected = true;
									var user = null;
									FB.api('/me?fields=picture,first_name,last_name', function (userParams) {
										user = userParams; 
										FB.api('/me/friends?access_token=' + m_token + '&fields=installed,first_name,last_name,picture', function (friends) {
											for (var i in friends.data) {

												var firstName = friends.data[i].first_name;
												var lastName = friends.data[i].last_name;
												var picture = friends.data[i].picture.data.url;
												var userID = friends.data[i].id;
												m_friendsList += JSON.stringify({
													'firstName': firstName,
													'lastName': lastName,
													'picture': picture,
													'userID': userID
												}) + ",";

											}

											m_friendsList += " ]";
											//document.body.innerHTML = m_friendsList;
																			
											if (user != null) { 
												initIframe({
													"fb_user_id": user.id,
													"first_name": user.first_name,
													"last_name": user.last_name,
													"token": token,
													"picture": user.picture.data.url,
													"friends": m_friendsList
												});
											}

										});
									});

								}
							})

						});
					});
				} // end else

                function initIframe(m_vars) {
                    var rand = String(Math.floor(Math.random() * 100000));
                    var m_flashvars = {};
                    var str = "";
                    for (var i in m_vars) {
                        var key = i;
                        var value = m_vars[i];
                        m_flashvars[key] = value;
                        str += key + "=" + value + "&";
                    }
                    
                    m_flashvars['server'] 			= m_server;
                    m_flashvars['asset_server'] 	= m_asset_server;
                    m_flashvars['port'] 			= m_port;
                    m_flashvars['main'] 			= m_movieName + "?q=odnoklassniki&rand=" + rand;
                    var params = {
                        menu: "false",
                        scale: "noScale",
                        allowFullscreen: "true",
                        allowFullscreenInteractive: "true",
                        allowScriptAccess: "always",
                        bgcolor: "",
                        wmode: "direct"
                    };
                    var attributes = {
                        id: m_swfID
                    };
                    swfobject.embedSWF(
                        m_preloaderPath + "?rand=" + rand,
                        "altContent", "100%", "100%", "10.0.0",
                        "expressInstall.swf",
                        m_flashvars, params, attributes);
			m_swf = document.getElementById(m_swfID);	
                }
            </script>
            <style>
                html, body {
                    height:100%;
                    overflow:hidden;
                }
                body {
                    margin:0;
                }
            </style>
</head>

<body>
    <div
    id="altContent">

        </div>
</body>

</html>

Старый 29.09.2013, 12:47
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 12  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
А зачем тестировать ОК локально?
Не то, что бы я лично был против, просто обычно к ОК подключается уже работающее приложение. Достаточно убедиться, что приложение правильно получает данные от ОК. Остальное отлаживать как бы смысла большого нет.

Если есть необходимость контролировать состояние переменных при подключении к ОК, а собственной консоли в клиенте не предусмотрено, то достаточно просто интегрировать в клиента Monster Debugger (http://www.monsterdebugger.com/). Занятная и полезная штука.

Старый 30.09.2013, 08:10
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 13  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Остальное отлаживать как бы смысла большого нет.
Плюсую. Совершенно бессмысленное занятие. Можно получить один раз ответ от одноклассников, вставить нужные данные в какое-то свойство, и настроить все необходимое в приложении уже используя эти данные

Старый 01.10.2013, 18:59
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 14  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
mikhailk скажите пожалуйста, что такое консоль?
Предположив что ОК это что то серверное и "это" нужно тестировать в консоли, то на ум приходит консоль webstorm-а.. Ваша консоль, это то о чем сказал я? И ещё, такая консоль есть в FlashDevelop?

Старый 01.10.2013, 19:06
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 15  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
зачем такие заморочки? ПОд консолью тут имеется в виду обычное текстовое поле поверх всего, в которое будут выводиться все данные вместо трейса
А монстер дебаггер вообще является отдельным приложением на AIR, которое будет отслеживать состояние вашей программы

Старый 02.10.2013, 01:19
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 16  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
ПОд консолью тут имеется в виду обычное текстовое поле поверх всего, в которое будут выводиться все данные вместо трейса
Да. С маленькой кнопкой, чтобы вытаскивать на экран и снова убирать за край экрана.
Я лично по дефолту встраиваю во все приложения, которые сам пишу. Естественно, она доступна исключительно в тестмоде и для фиксированного перечня пользователей в реалмоде.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:29.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.