Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Передача данных из JS в AS, редирект (http://www.flasher.ru/forum/showthread.php?t=127653)

Lalf 20.07.2009 01:46

Передача данных из JS в AS, редирект
 
Доброго времени суток.
Я хочу сделать флэш ролик, который будет получать строковую переменную (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:
Код AS1/AS2:

// 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, поэтому могу ошибаться в типах данных.


Прошу Вашей помощи, Флэш-гуру.

Lalf 23.07.2009 02:42

Помогите, пожалуйста, я в тупике :(

dimarik 25.07.2009 17:27

По виду все правильно.

Что выдает
Код AS1/AS2:

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


Lalf 26.07.2009 01:57

dimarik, я через SWFObject сделал. Ошибка у меня была в неправильном написании функции и лишнем коде. Кстати, у вас скобочка пропущена ;)


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

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