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

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

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

Регистрация: Jan 2010
Сообщений: 147
По умолчанию вызвать Flash функцию с помощью js

Всем привет. Вопрос такой. Есть флэшка, в ней функции ) хочу дернуть их из жабаскрипт. Делаю кнопку в штмл обертке к флэшке:
PHP код:
<input type="button" onClick="callExternalInterface()" value="Play" /></form
как мне дальше поступить, чтобы вызвать функцию из флэш?

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
зарегистрировать в флешке функцию для JS
Код AS3:
ExternalInterface.addCallback("func", as3func)
дальше можно вызывать ее из JS


Последний раз редактировалось Партизан; 16.06.2010 в 14:36. Причина: аргумент забыл добавить :)
Старый 16.06.2010, 14:32
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 3  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 greegreeman:
Разберитесь в примерах.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

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

Регистрация: Jan 2010
Сообщений: 147
Посмотрел help ). Вроде все понятно. Но не получилось вызвать. пишу в html:
PHP код:
function playVideo() {
//alert("hello");
thisMovie("myFlashContent").playVideo();
}
<
input type="button" onClick="playVideo()" value="Play" /> 
во флэшке:
Код AS3:
ExternalInterface.addCallback("playVideo", receivedFromJavaScript);
private function receivedFromJavaScript():void
	{
		trace("Hello World");
	}

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Вызывать нужно
Код:
function playVideo() {
document.getElementByID("myFlashContent").playVideo();
}
где myFlashContent это id тега object или embed вашей флешки

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

Регистрация: Jan 2010
Сообщений: 147
Партизан, вызвал как вы говорите - все равно не работает. даже уже и не знаю в чем ошибку искать...

Добавлено через 23 минуты
приведу код из флэшки:
Код AS3:
if (ExternalInterface.available) {
try {
	ExternalInterface.addCallback("playVideo", receivedFromJavaScript);				
} catch (error:SecurityError) {
	trace("A SecurityError occurred: " + error.message + "\n");
} catch (error:Error) {
	trace("An Error occurred: " + error.message + "\n");
}
	} else {
		trace("External interface is not available for this container.");
	}

Старый 16.06.2010, 18:04
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 7  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 greegreeman:
А что получится, если в JavaScript написать:
Код:
alert(document.getElementByID("myFlashContent").playVideo)
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

Старый 16.06.2010, 18:05
Партизан вне форума Посмотреть профиль Отправить личное сообщение для Партизан Найти все сообщения от Партизан
  № 8  
Ответить с цитированием
Партизан
 
Аватар для Партизан

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
html покажите
receivedFromJavaScript - а там что?

кстати ошибся немного document.getElementById


Последний раз редактировалось Партизан; 16.06.2010 в 18:09.
Старый 16.06.2010, 18:33
greegreeman вне форума Посмотреть профиль Отправить личное сообщение для greegreeman Найти все сообщения от greegreeman
  № 9  
Ответить с цитированием
greegreeman
 
Аватар для greegreeman

Регистрация: Jan 2010
Сообщений: 147
показываю весь html:

Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
	<head>
		<title></title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


		<script language="JavaScript">
			     		
			function test() {
				//alert("hello");
        		//thisMovie("myFlashContent").test();
				document.getElementById("myFlashContent").test();					
     			}
 		</script>


		<script type="text/javascript" src="swfobject.js">
			swfobject.registerObject("myFlashContent", "9.0.0");									
							
		</script>
        
	</head>
	<body>
		<div>
			<object classid="тут был classid" width="500" height="400" id="myFlashContent" name="TestExternalInterface">
				<param name="movie" value="TestExternalInterface.swf" />
				<param name="allowfullscreen" value="true" />
                <param name="allowScriptAccess" value="always" />
				<param name="flashvars"/>
				<!--[if !IE]>-->
				<object type="application/x-shockwave-flash" data="TestExternalInterface.swf" width="500" height="400">
					<param name="allowfullscreen" value="true" />
                    <param name="allowScriptAccess" value="always" />
					<param name="flashvars"/>
				<!--<![endif]-->
					<a href="http://www.adobe.com/go/getflashplayer">
						<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
					</a>
				<!--[if !IE]>-->
				</object>
				<!--<![endif]-->
			</object>
		</div>		

		<input type="button" onclick="test()" value="Test" />		
				

	</body>
</html>
на стороне флэш:
Код AS3:
 
private function init():void
{
	trace("ExternalInterface.available " + ExternalInterface.available)
	if (ExternalInterface.available) {
		try {
			ExternalInterface.addCallback("test", needToCall);
		} catch (error:SecurityError) {
		trace("A SecurityError occurred: " + error.message + "\n");
		} catch (error:Error) {
			trace("An Error occurred: " + error.message + "\n");
		}
			} else {
				trace("External interface is not available for this container.");
			}
 
	//ExternalInterface.addCallback("test", flashFunc);
	trace("I am here");
}
 
private function needToCall():void
{
      trace("!!!!!!!!!!!!!!!!!!!!!!!!!!");
}

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
ок, и как trace отлавливаешь из html?

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

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

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


 


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


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