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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.03.2011, 21:52
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 1  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
По умолчанию Переменные из JavaScript во флэшку

Весь день мучаюсь c open api vkontakte. И вот возник вопрос. Мне нужно переменные передать из JavaScript в мою флэшку. Вот простенький код:
javascript:
Код:
 <script language="javascript">
VK.init({
  apiId: 2163649
});
var photo_user
var id_user
var name_user
function authInfo(response) {
  if (response.session) {
    alert('user: '+response.session.mid);
  } else {
    alert('not auth');
  }
}
VK.Auth.getLoginStatus(authInfo);

VK.Api.call('getVariables', {key: 1280, count:6}, function(r) {
  if(r.response)
  {
     id_user =  r.response[0]['value'];
     name_user = r.response[1]['value'];
     photo_user =  r.response[5]['value'];
  }

})

function photoUser()
{
  return photo_user
}

function nameUser()
{
  return name_user
}

function idUser()
{
  return id_user
}
</script>
Если я вывожу переменные name_user, id_user, photo_user с помощью alert в самом джаваскрипте, то проблем нет, все показывает. но мне ведь надо в саму флэшку загнать переменные. вот что я делаю:
Код AS3:
package  
{
	import flash.display.Sprite;
	import flash.external.ExternalInterface;
	import flash.events.*;
 
	/**
	 * ...
	 * @author Stas
	 */
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
 
			but1.addEventListener(MouseEvent.CLICK, onClick)
		}
 
		private var photo_user:String;
		private var name_user:String;
		private var id_user:String;
 
		private function onClick(e:MouseEvent):void 
		{
			name_user = ExternalInterface.call("nameUser");
			tt1.text = name_user;
		}
 
	}
 
}
То тут уже не работает. Хотя по идее должно... в чем дело? кто подскажет?

Подскажите, как лучше в моем случае загнать переменные во флэшку?

Добавлено через 28 минут
Заранее извиняюсь. Ручки не оттуда росли. Нашел уже ошибку. Проблема решена.

Старый 20.03.2011, 22:22
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 2  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
1. А зачем таким хитрым способом получать переменные, а не через flashvars?
2. addCallback

Добавлено через 1 минуту
И это не забудьте

In the object tag for the SWF file in the containing HTML page, set the following parameter:
<param name="allowScriptAccess" value="always" />

In the SWF file, add the following ActionScript:
flash.system.Security.allowDomain(sourceDomain)

Старый 20.03.2011, 22:46
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 3  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
1. Я просто еще ни разу не пробовал загонять переменный во флэшку. Это первый раз.

2. А разве можно их загонять с помощью addCallBack?

Старый 20.03.2011, 23:00
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 4  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
2. Да.

Старый 20.03.2011, 23:14
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 5  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
Можно пример пожалуйста. А то в документации вроде не написано о такой возможности.

Старый 21.03.2011, 00:44
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 6  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
http://www.flasher.ru/forum/showthread.php?t=120517

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

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

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


 


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


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