AS2:LoadMovieClip.onErrorは、いくつかのエラーをキャッチしていないようです
-
23-09-2019 - |
質問
私はのHttpHandlerてSWFファイルを開き、いくつかのAS2のコードを持っています。
私は、要求されたファイルが欠落している時に認識するためのプログラムを取得しようとしています。
のLoadVarsと「負荷」を使用して、ファイルが正常にロードされている場合のみのloadMovieを呼び出す関与私の最初の試みは、(ここでは技術のどこかを見つけました)。しかし、私は、ファイルが存在しない場合のHttpHandler内のprocessRequest関数が二回呼ばなっていたことがわかりました。理にかなって - 負荷のために一度、一回のloadMovieのための
。今、私が代わりにMovieClipLoaderのを使用しています(また、ここではこの手法を見つけました)。この方法は、ファイルが見つかったかどうかを一度だけのprocessRequestを呼び出すん。しかし、私の問題は、私はそれを悪いURLを与えるときonLoadError機能のみが動作していることです。私はそれをハンドラに悪いファイル名を渡す良いURLを与えると、ハンドラでエラーが発生しますが、私のonLoadError機能は問題があることを認識していないようです - 私は、エラーメッセージが表示されなければならない空白領域を取得しますアップます。
ここでは、関連するAS2のコードがあります:
function CheckFileExists(inFile) {
var mclListener:Object = new Object();
mclListener.onLoadError = function(target_mc:MovieClip, err:String){
if(err=="URLNotFound")
{
target_mc.createTextField("error_txt", 1, 0, 0, 100, 20);
target_mc.error_txt.autoSize = "left";
target_mc.error_txt.text = "URL not found: \n\t" + target_mc._url;
}
else //I would expect this block to handle the error, since the URL is good.
{
target_mc.createTextField("error_txt", 1, 0, 0, 100, 20);
target_mc.error_txt.autoSize = "left";
target_mc.error_txt.text = "some other problem: \n\t" + target_mc._url;
}
}
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mclListener);
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mcl.loadClip(inFile, mc);
}
リトル・ヘルプ?
解決
どのようにあなたのサーバ機能はエラーを投げていますか?それは404か503か何かのような実際のHTTPエラーコードを返すことを確認してください。それは、テキストメッセージとしてエラーでHTTPステータスコード200を返すいた場合は、Flashが、これは誤りであるかを知りません。それはちょうど、ステータス200を見て、負荷が罰金、およびフラッシュムービーとしてデータをロードしようとする試みであると考えます。