Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Нет передачи управления обработке события (http://www.flasher.ru/forum/showthread.php?t=150314)

tovarz 09.02.2011 19:45

Нет передачи управления обработке события
 
КОД:
Код AS3:

package {
        import flash.display.Sprite;
        import fl.controls.Label;
        import flash.events.*;
        import flash.net.*;
        import flash.external.ExternalInterface;
 
 
 
        public class Main extends Sprite {
 
                private var uLoader:URLLoader;
                private var uReq:URLRequest;
                private var _label: Label;
 
                public function Main():void
                {
                        super();
_label = new Label();
                        _label.width = 9200;
                        _label.move(20, 50);
                        addChild(_label);
 
                        uLoader=new URLLoader();
                        uReq = new URLRequest("Нужный_URL");
                        uLoader.load(uReq);
                            uLoader.addEventListener(Event.COMPLETE,onComplete);
 
                }
 
 
                function onComplete(e:Event):void
{
        var s: String = e.target.data;
        _label.text=s;
 
        }
}

При компиляции все норм - т.е. в _label выводится информация.
Но если загружаю эту swf-ку на веб странице, то ничего не происходит, т.е. получается что функция onComplete не вызывается...
С чем это связано? Зависит ли это от браузера?

shootkin 09.02.2011 20:03

onComplete не вызывается видимо потому, что никогда не наступает, то есть никогда не загружаются данные с "нужного_URL".
Скорее всего дело в политике безопасности. При отладке через Flash IDE проверка на нее отключается, при запуске через браузер работает.
Здесь например описано.

tovarz 09.02.2011 20:05

Заметил, что onComplete не работает с некоторых серверов, и причем в опере не работает в любом случае, а в мозилле работает тлько с некоторыми URL

Добавлено через 2 часа 10 минут
то есть все таки от браузера тоже зависит?

maxkar 10.02.2011 13:42

Код AS3:

uLoader=new URLLoader(); //1
uReq = new URLRequest("Нужный_URL"); //2
uLoader.load(uReq); //3
uLoader.addEventListener(Event.COMPLETE,onComplete); //4

Угу. Вполне может. Потому что подписка на событие Event.COMPLETE (строка 4) в некоторых браузеров случаях может выполняться уже после того, как события Event.COMPLETE были запущены и обработаны (в строке 3). Например, файл был в кэше браузера.

Вообще, обработчики каких-либо событий должны всегда устанавливаться до того, как начато действие, которое приводит к указанному событию.


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

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