Форум 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)
-   -   отследить появления файла на сервере (http://www.flasher.ru/forum/showthread.php?t=111368)

2Borik 23.04.2008 20:14

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

var loader:LoadVars = new LoadVars();
var intervalID:Number = setInterval(callback, 500);
function callback():Void {
        loader.load("name.txt?rand="+Math.random());
        onEnterFrame = function():Void  {
                if (!loader.loaded && loader.getBytesTotal()>0) {
                        clearInterval(intervalID);
                        trace(Math.round(loader.getBytesLoaded()/loader.getBytesTotal()*100));
                } else if (loader.getBytesTotal()>0) {
                        trace("ok")
                        delete onEnterFrame;
                }
        };
}


TanaTiX 23.04.2008 20:22

я бы использовал только сетинтервал без онэнтерфрэймов и onLoadError при попытке загрузки - должно хватить.

silin 24.04.2008 00:23

не знаю насколько это надсадно для плеера, но можно по каждой неудачной загрузке запускать новую, пока не загрузим:
Код:

var loader:LoadVars=new LoadVars();
loader.onLoad = function(ok:Boolean){
        if (ok){
                trace("OK");
        }else{
                loader.load("name.txt");
        }
}
loader.load("name.txt");

а лучше бы серверу и поручить отслеживать, "не царское это дело,.."

2Borik 25.04.2008 07:54

Вообщем сделал вот так если кого интересует.
Код:

this.createEmptyMovieClip("fileSearch",1);
var loader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadStart = function():Void  {
        dataLoad();
};
listener.onLoadError = function(fileSearch:MovieClip, message:String):Void  {
        if (loop<300) {
                loop++;
                if (message="URLNotFound") {
                        loader.addListener(listener);
                        loader.loadClip(nameFile,fileSearch);
                }
        }
};
function dataLoad():Void {
        var loader:LoadVars = new LoadVars();
        loader.load(nameFile);
        loader.onData = function():Void  {
                trace("ok")
                delete loader;
        };
}



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

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