2010-01-07 198 views
1

我得到一個模糊的「套接字超時」。當我加載我的網站時偶爾會出錯。我爲PHP數據發出各種HTTP請求,並使用Loader()類實例。任何人都可以闡明這個錯誤可能來自哪裏?AS3:套接字超時

我希望有更多的來自梗錯誤的位置的指示......

這裏是我的代碼,我使用。 存在多個問題,但最重要的是catch在第一次加載時捕獲錯誤。我有一個淡入功能,只有當加載器是完全加載,我知道我所有的URL鏈接工作,所以它不能這樣。

public function loadImage(url:String):void { this._imageURL = url; this.alpha = 1.0; //需要這個,因爲我們可能已經將圖像淡化了

_ldr.alpha = 0.0; _prog.alpha = 1.0; _sqr.alpha = 0.0;

嘗試 { _ldr.close(); _ldr.unload(); } catch(e:Error) trace(「error in bmdisplay:」+ e.message); }

if(!_ imageURL) { return; }

_loaded = false; _ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress); _ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete); _ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,onError); _ldr.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR,onError); _ldr.load(new URLRequest(_imageURL)); }

回答

1

您能否提供關於您實際加載的內容以及如何進行更精確的信息?

通過監聽Loader對象的contentLoaderInfo上的securityErrorioError事件,您應該能夠得到確切的請求,並拋出錯誤。

事情是這樣的:

var loader:Loader = new Loader(); 
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorListener); 
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorListener); 
var request:URLRequest = new URLRequest(url); 
loader.load(request); 

... 

private function errorListener(event:Event):void { 
    var url_causing_the_error:String = LoaderInfo(event.target).loaderURL; 
    ... 
} 
+0

是;它基本上是這個代碼。我會通過更新我的帖子發佈具體信息。 – jml

+0

我知道,當我嘗試卸載圖像時,它是捕獲錯誤的Loader()偵聽器,但錯誤說明了「尚未加載」的效果。如果可能的話,我想知道如何避免這個錯誤。 – jml

+0

我在回答這個問題,因爲我不確定我完全理解了我所問的問題。最終,我想我是問我是否必須檢查圖像是否通過布爾加載。 – jml