Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 リファレンスガイド > ActionScript クラス > LoadVars > onHTTPStatus (LoadVars.onHTTPStatus ハンドラ) | |||
onHTTPStatus = function(httpStatus: Number ) {}
Flash Player がサーバーから HTTP ステータスコードを受け取ると、呼び出されます。このハンドラを使用することにより、HTTP ステータスコードを取得してそれに基づいて処理を行えます。
onHTTPStatus ハンドラは onData ハンドラの前に呼び出され、ロードが失敗した場合には undefined 値を返して onLoad の呼び出しを実行します。onHTTPStatus を上書きしているかどうかにかかわらず、onHTTPStatus がトリガされた後、onData が常にトリガされます。onHTTPStatus ハンドラを最も効果的に使用するには、onHTTPStatus 呼び出しの結果をキャッチするための関数を作成する必要があります。その結果を onData ハンドラと onLoad ハンドラで使用します。onHTTPStatus が呼び出されない場合は、URL リクエストが試みられなかったことを示します。これは、その要求が SWF ファイルのセキュリティサンドボックス規則に違反している場合に起こる可能性があります。
Flash Player がサーバーからステータスコードを取得できなかった場合、またはサーバーと通信できなかった場合、記述した ActionScript のコードにデフォルト値の 0 が渡されます。値 0 は、(たとえば正しくない形式の URL が要求された場合などに) どのプレーヤーでも生成される可能性があります。また、サーバーからの HTTP ステータスコードをプレーヤーに渡すことができないブラウザで実行される Flash Player プラグインでは、常に値 0 が生成されます。該当するブラウザには、Netscape、Mozilla、Safari、Opera、および Internet Explorer for Macintosh があります。
対応バージョン : ActionScript 1.0、Flash Player 8
httpStatus:Number - サーバーから返された HTTP ステータスコード。たとえば、値 404 は、要求された URI と一致する URI が見つからなかったことを示します。HTTP ステータスコードは、ftp://ftp.isi.edu/in-notes/rfc2616.txt にある HTTP 仕様書のセクション 10.4 と 10.5 に記載されています。
次の例では、onHTTPStatus() をデバッグに役立てる方法を示します。この例では、HTTP ステータスコードを収集し、その値とタイプを LoadVars オブジェクトのインスタンスに代入します。この例では、インスタンスのメンバー this.httpStatus と this.httpStatusType を実行時に作成しています。onData メソッドでこれらのメンバーを使用して、デバッグに役立てることができる HTTP 応答に関する情報をトレースします。
var myLoadVars:LoadVars = new LoadVars();
myLoadVars.onHTTPStatus = function(httpStatus:Number) {
this.httpStatus = httpStatus;
if(httpStatus < 100) {
this.httpStatusType = "flashError";
}
else if(httpStatus < 200) {
this.httpStatusType = "informational";
}
else if(httpStatus < 300) {
this.httpStatusType = "successful";
}
else if(httpStatus < 400) {
this.httpStatusType = "redirection";
}
else if(httpStatus < 500) {
this.httpStatusType = "clientError";
}
else if(httpStatus < 600) {
this.httpStatusType = "serverError";
}
}
myLoadVars.onData = function(src:String) {
trace(">> " + this.httpStatusType + ": " + this.httpStatus);
if(src != undefined) {
this.decode(src);
this.loaded = true;
this.onLoad(true);
}
else {
this.onLoad(false);
}
}
myLoadVars.onLoad = function(success:Boolean) {
}
myLoadVars.load("http://blogs.adobe.com/mxna/flashservices/getMostRecentPosts.cfm");
onHTTPStatus (XML.onHTTPStatus ハンドラ), load (LoadVars.load メソッド), sendAndLoad (LoadVars.sendAndLoad メソッド)
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00001787.html