Вернуться   Дизайнерский форум » ДИЗАЙН И ГРАФИКА » Технологии Flash

Передача данных из JS в AS, редирект

Обсуждение темы Передача данных из JS в AS, редирект в разделе Технологии Flash, часть категории ДИЗАЙН И ГРАФИКА; Доброго времени суток. Я хочу сделать флэш ролик, который будет получать строковую переменную (url-адрес) из JavaScript, производить некоторые действия над этой переменной в ...


Закрытая тема
 
Опции темы
Старый 21.07.2009, 06:19   #1
Доброго времени суток.
Я хочу сделать флэш ролик, который будет получать строковую переменную (url-адрес) из JavaScript, производить некоторые действия над этой переменной в ActionScript и переадресовывать пользователя на данный адрес.
Я очень много гуглил по поводу передачи данных из JS в AS, нашёл 2 способа:
- SWFObject (не удобен, много лишнего кода)
- Мост между JS и AS (ExternalInterface) - этот и выбрал.

Но возникла небольшая проблема, а именно: у меня не происходит редирект (переадресация) или не происходит передача данных из JS в AS.

На JS я пишу следующее:
Код:
function sendFromJS(txt) {
var movie = (navigator.appName.indexOf("Microsoft")!=-1 ? window : document)["BridgeMovie"];

movie.sendFromJS(txt);
}
А в AS:
Код:
// Flash Storage example
 
import flash.external.*;
 
ExternalInterface.addCallback("sendFromJS", null, recieveFromJS);
 
function recieveFromJS(t) {
//	_root.theText.text = t;
	getUrl(t, "_self");
// !!! или
	var my_lv:LoadVars = new LoadVars();
	my_lv.send(t, "_blank", "POST");
}
 
_root.button.onRelease = function() {
	ExternalInterface.call("recieveFromFlash", _root.theText.text);
	_root.theText.text = "";
}
"Publish -> разрешить доступ только к сети" делаю.
У меня Adobe Flash CS4.


Я вообще не знаю AS, поэтому могу ошибаться в типах данных.


Прошу Вашей помощи, Флэш-гуру.
 
Старый 21.07.2009, 06:19
Ссылки
Старый 21.07.2009, 11:22   #2
Lalf, проверяйте плоды ваших творений в сети, локально работать не будет
 
Старый 21.07.2009, 18:30   #3
Aldes, хм... Хорошо, чуть попозже проверю (как буду с домашнего компа). А для флэша есть разница как запущена HTML-страница: локально или с сайта?
 
Старый 21.07.2009, 19:24   #4
Цитата:
Сообщение от Lalf Посмотреть сообщение
А для флэша есть разница как запущена HTML-страница: локально или с сайта?
в таких вопросах да
 
Старый 22.07.2009, 04:38   #5
Aldes, попробовал загрузить на сайт - тоже самое... Может у меня в коде ошибка?
 
Старый 22.07.2009, 11:58   #6
возможно... как знать? давайте исходник
 
Старый 23.07.2009, 06:55   #7
Нашёл пару ошибок, сейчас с исправленной версией ПОЧТИ работает: если нажать на кнопку с js-функцией, то редирект происходит, а если вставить просто функцию, отправляющую данные флэшке в код, то редиректа не происходит - я не пойму почему. Возможно, нужно чтобы AS отправила JS сигнал о том, что флэшка готова к работе, но как это сделать - я даже не представляю %)

Вот что сейчас получилось.
AS:
Код:
import flash.external.*;

ExternalInterface.addCallback("sendFromJS", null, recieveFromJS);

function recieveFromJS(t) {
    var my_lv:LoadVars = new LoadVars();
    my_lv.send(t, "_self", "POST");
}
Полностью HTML-страница:
Код:
<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>JS - AS</title>

<script type="text/javascript">
function sendFromJS(value) {
    var movie = ((navigator.appName.indexOf("Microsoft")!=-1) ? window : document)["BridgeMovie"];   
    
    movie.sendFromJS(value);    
}
</script>
</head><body>

<input type="button" value="Click" onclick="sendFromJS('http://yandex.ru/')">

      
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="BridgeMovie" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" height="5" width="5">
    <param name="movie" value="red.swf">
    <param name="allowScriptAccess" value="sameDomain">
    <embed src="red.swf" name="BridgeMovie" play="true" loop="false" quality="high" allowscriptaccess="sameDomain" scale="exactfit" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" align="middle" height="5" width="5">
</object>

<script type="text/javascript">
sendFromJS('http://yandex.ru/');
</script>
</body></html>
 
Старый 24.07.2009, 07:20   #8
Разобрался в SWFObject и сделал через него
 
Старый 24.07.2009, 07:20
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных из одной страницы на другую silmin85q HTML, CSS, JavaScript 1 13.06.2011 19:29
передача данных в другую страницу... handler ASP, Perl, PHP и MySQL 1 04.09.2006 19:07
Передача данных из Флеша в Php RedDiamond Технологии Flash 4 25.11.2005 23:47
Передача данных с XML во Flash anton Технологии Flash 0 30.09.2005 20:27
Передача данных KaDS HTML, CSS, JavaScript 11 26.07.2004 06:09


Текущее время: 07:18. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум