Я хочу сделать флэш ролик, который будет получать строковую переменную (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);
}
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 = "";
}
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, поэтому могу ошибаться в типах данных.
Прошу Вашей помощи, Флэш-гуру.