IE不支持as3预加载器操作

Ben*_*nny 1 flash actionscript actionscript-3 flash-cs4 flash-cs5

我使用了以下代码.

stop();
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadingAction);
this.loaderInfo.addEventListener(Event.COMPLETE, onLoadedAction);
this.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErroAction);
function onLoadingAction (e:ProgressEvent):void 
{
    trace("loading");   
}
function onLoadedAction (e:Event):void 
{
    this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, onLoadingAction);
    gotoAndStop(currentFrame+1);
}
function ioErroAction (e:IOError):void 
{
    trace("Dev Ben " + e.toString());
}

此代码支持chrome和firefox.但如果我使用IE运行,它会坚持使用onLoadingAction.

在IE中运行我需要做什么?

Mik*_*lsh 5

不幸的是,root loaderInfo的COMPLETE事件不可靠,并且在不同的浏览器中表现不同.如果文件被缓存或在本地运行,它将无法在某些浏览器中触发.

相反,在ENTER_FRAME或TIMER处理程序中检查了loaderInfo.bytesLoaded == loaderInfo.bytesTotal:

addEventListener(Event.ENTER_FRAME, onEnterFrame);

function onEnterFrame(event:Event):void
{
    if(loaderInfo && loaderInfo.bytesLoaded == loaderInfo.bytesTotal)
    {
        // load complete
    }
}
Run Code Online (Sandbox Code Playgroud)