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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.10.2006, 18:59
asuri вне форума Посмотреть профиль Отправить личное сообщение для asuri Найти все сообщения от asuri
  № 1  
Ответить с цитированием
asuri

Регистрация: Oct 2006
Сообщений: 44
Question как подружить Flex и JS ?

Добрый день. Не подскажет ли, кто-нибудь, как можно организовать вызов из флекса js функций c параметрами и наоборот передача этими функциями, после их выполнения, данных во Flex ?? Или дайте ссылку на источник,где об этом можно почитать. Заранее благодарен.

Старый 24.10.2006, 19:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
flash.external.ExternalInterface

Старый 25.10.2006, 19:54
asuri вне форума Посмотреть профиль Отправить личное сообщение для asuri Найти все сообщения от asuri
  № 3  
Ответить с цитированием
asuri

Регистрация: Oct 2006
Сообщений: 44
Делаю так.
пишу в html файлике функцию:
<script>
function summa(a,b){
alert(a+'+'+b);
s=a+b;
return s;
}
</script>

В MXML файлике пишу следующее:

Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import flash.external.ExternalInterface;

			 private function summa():void {
			 	var s:Number=0;
			 	var a:Number=Number(num1.text)
			 	var b:Number=Number(num2.text)
			 	
			 	flash.external.ExternalInterface.call("jsvar.SetVariable('s','summa("+a+","+b+")')");
			 	sum.text=s.toString();
				
		     }

		]]>
	</mx:Script>
	<mx:Panel x="147" y="147" width="190" height="320" layout="absolute" >
		<mx:TextInput x="35" y="33" width="100" id="num1"/>
		<mx:TextInput x="35" y="77" width="100" id="num2"/>
		<mx:TextInput x="35" y="121" width="100" id="sum"/>
		<mx:Button x="43" y="172" label="Посчитать" click="summa();"/>
	</mx:Panel>
</mx:Application>
В результате js функция даже не вызывается. При этом если заменить строку:
flash.external.ExternalInterface.call("jsvar.SetVariable('s','summa("+a+","+b+")')");

на:
flash.external.ExternalInterface.call("summa("+a+","+b+")");

то JS функция вызывается, параметры a и b в неё передаются, но не понятно как в этом случае вернуть результат выполнения этой ф-ции...
Подскажите где у меня трабла, плиз.

Старый 25.10.2006, 20:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
s = ExternalInterface.call('summa',a,b);
Работает?

В хелпе куча примеров.
http://livedocs.macromedia.com/flex/.../00001009.html

Старый 25.10.2006, 20:13
asuri вне форума Посмотреть профиль Отправить личное сообщение для asuri Найти все сообщения от asuri
  № 5  
Ответить с цитированием
asuri

Регистрация: Oct 2006
Сообщений: 44
Да так работает. Большое спасибо.

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

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

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


 


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


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