| パッケージ | flash.net |
| クラス | public class URLLoader |
| 継承 | URLLoader EventDispatcher Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
URLLoader オブジェクトは、アプリケーションのコードでデータを使用できるように、事前にすべてのデータを URL からダウンロードします。 URLLoader オブジェクトは、ダウンロードの進捗に関する通知を送信します。この通知は、送出済みのイベントと、bytesLoaded プロパティおよび bytesTotal プロパティで監視できます。
FLV のように非常に大きなビデオファイルをロードする場合、メモリ不足のエラーが起こることがあります。
Flash Player、およびアプリケーションセキュリティサンドボックス以外のセキュリティサンドボックス内の AIR アプリケーションコンテンツでこのクラスを使用するときは、次のセキュリティモデルを考慮してください。
セキュリティ情報について詳しくは、次を参照してください。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| bytesLoaded : uint = 0
ロード操作中に、既にロード済みのデータのバイト数を示します。 | URLLoader | ||
| bytesTotal : uint = 0
ダウンロードデータの合計バイト数を示します。 | URLLoader | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
| data : *
ロード操作によって受信したデータです。 | URLLoader | ||
| dataFormat : String = "text"
ダウンロードしたデータがテキスト (URLLoaderDataFormat.TEXT) 生のバイナリデータ (URLLoaderDataFormat.BINARY)、または URL エンコードされた変数 (URLLoaderDataFormat.VARIABLES) のいずれであるかを制御します。 | URLLoader | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| メソッド | 定義元 | ||
|---|---|---|---|
URLLoader オブジェクトを作成します。 | URLLoader | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void [override]
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | URLLoader | ||
進行中のロード操作は直ちに終了します。 | URLLoader | ||
![]() |
イベントをイベントフローに送出します。 | EventDispatcher | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
指定された URL からデータを送信およびロードします。 | URLLoader | ||
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
| イベント | 概要 | 定義元 | ||
|---|---|---|---|---|
![]() | [ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。 | EventDispatcher | ||
| 受信したすべてのデータがデコードされ、URLLoader オブジェクトの data プロパティに配置された後に送出されます。 | URLLoader | |||
![]() | [ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失って、非アクティブになったときに送出されます。 | EventDispatcher | ||
| load() メソッドを呼び出して HTTP を介してデータにアクセスを試み、Adobe AIR で要求のステータスコードを検出して返すことができる場合に送出されます。 | URLLoader | |||
| URLLoader.load() が HTTP 経由でデータにアクセスしようとすると送出されます。 | URLLoader | |||
| URLLoader.load() の呼び出し時に致命的なエラーが発生してダウンロードが終了した場合に送出されます。 | URLLoader | |||
| URLLoader.load() メソッドの呼び出しによりダウンロード処理が開始されると送出されます。 | URLLoader | |||
| ダウンロード処理を実行中にデータを受信したときに送出されます。 | URLLoader | |||
| URLLoader.load() の呼び出しによってセキュリティサンドボックスの外部にあるサーバーからデータをロードしようとすると送出されます。 | URLLoader | |||
| bytesLoaded | プロパティ |
public var bytesLoaded:uint = 0| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ロード操作中に、既にロード済みのデータのバイト数を示します。
| bytesTotal | プロパティ |
public var bytesTotal:uint = 0| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ダウンロードデータの合計バイト数を示します。このプロパティは、ロード操作の進行中は 0 を格納し、操作が完了した時点で設定されます。また、Content-Length ヘッダがない場合、bytesTotal の値が不確定になります。
| data | プロパティ |
public var data:*| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ロード操作によって受信したデータです。このプロパティは、ロード操作が完了したときにのみ設定されます。データの形式は、dataFormat プロパティの設定によって決まります。
dataFormat プロパティが URLLoaderDataFormat.TEXT の場合、受け取るデータは、ロードされたファイルのテキストを含むストリングです。
dataFormat プロパティが URLLoaderDataFormat.BINARY の場合、受け取るデータは、生のバイナリデータを含む ByteArray オブジェクトです。
dataFormat プロパティが URLLoaderDataFormat.VARIABLES の場合、受け取るデータは、URL エンコードされた変数を含む URLVariables オブジェクトです。
関連項目
| dataFormat | プロパティ |
public var dataFormat:String = "text"| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ダウンロードしたデータがテキスト (URLLoaderDataFormat.TEXT)、生のバイナリデータ (URLLoaderDataFormat.BINARY)、または URL エンコードされた変数 (URLLoaderDataFormat.VARIABLES) のいずれであるかを制御します。
dataFormat プロパティの値が URLLoaderDataFormat.TEXT の場合、受け取るデータは、ロードされたファイルのテキストを含むストリングです。
dataFormat プロパティの値が URLLoaderDataFormat.BINARY の場合、受け取るデータは、生のバイナリデータを含む ByteArray オブジェクトです。
dataFormat プロパティの値が URLLoaderDataFormat.VARIABLES の場合、受け取るデータは、URL エンコードされた変数を含む URLVariables オブジェクトです。
デフォルト値 : URLLoaderDataFormat.TEXT.
関連項目
| URLLoader | () | コンストラクタ |
public function URLLoader(request:URLRequest = null)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
URLLoader オブジェクトを作成します。
パラメータrequest:URLRequest (default = null) — ダウンロードする URL を指定する URLRequest オブジェクトです。このパラメータを省略すると、ロード操作は開始されません。指定すると、直ちにロード操作が開始されます。詳細については、load を参照してください。
|
関連項目
| addEventListener | () | メソッド |
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。イベントリスナーは、特定のタイプのイベント、段階、および優先度に関する表示リスト内のすべてのノードに登録できます。
イベントリスナーが正常に登録された後に、addEventListener() () をさらに呼び出して優先度を変更することはできません。リスナーの優先度を変更するには、最初に removeListener() () を呼び出す必要があります。その後、同じリスナーを新しい優先度レベルで再度登録できます。
リスナーが登録された後に、addEventListener()(type または useCapture に別の値を設定)を再度呼び出すと、別のリスナー登録が作成されることに注意してください。たとえば、最初にリスナーを登録するときに useCapture を true に設定すると、そのリスナーはキャプチャ段階のみでリスニングします。同じリスナーオブジェクトを使用して再度 addEventListener() を呼び出すと(このとき、useCapture を false に設定)、異なる 2 つのリスナーが登録されます。1 つはキャプチャ段階でリスニングするリスナーで、もう 1 つはターゲット段階とバブリング段階でリスニングするリスナーです。
ターゲット段階またはバブリング段階のみを対象とするイベントリスナーを登録することはできません。登録時にこれらの段階が組み合わされるのは、バブリングはターゲットノードの祖先にしか適用されないためです。
イベントリスナーが不要になった場合は、removeEventListener() を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。ガベージコレクターは参照を有するオブジェクトを削除しないため、登録されているイベントリスナーに関係したオブジェクトはメモリから自動的に除去されません。
EventDispatcher インスタンスをコピーしても、それに関連付けられているイベントリスナーはコピーされません。新しく作成したノードにイベントリスナーが必要な場合は、ノードを作成した後に、リスナーを関連付ける必要があります。ただし、EventDispatcher インスタンスを移動した場合は、関連付けられているイベントリスナーも一緒に移動されます。
イベントがノードで処理されるときに、イベントリスナーがそのノードに登録中であれば、イベントリスナーは現在の段階ではトリガされません。ただし、バブリング段階など、イベントフローの後の段階でトリガすることができます。
イベントがノードで処理されているときにイベントリスナーがノードから削除された場合でも、イベントは現在のアクションによってトリガされます。削除された後は、その後の処理で再び登録されない限り、イベントリスナーは二度と呼び出されません。
パラメータ
type:String — イベントのタイプです。
| |
listener:Function — イベントを処理するリスナー関数です。この関数は、次の例のように、Event オブジェクトを唯一のパラメータとして受け取り、何も返さないものである必要があります。
function(evt:Event):void 関数の名前は任意に付けられます。 | |
useCapture:Boolean (default = false) —
リスナーが、キャプチャ段階、またはターゲットおよびバブリング段階で動作するかどうかを判断します。useCapture を true に設定すると、リスナーはキャプチャ段階のみでイベントを処理し、ターゲット段階またはバブリング段階では処理しません。useCapture を false に設定すると、リスナーはターゲット段階またはバブリング段階のみでイベントを処理します。3 つの段階すべてでイベントを受け取るには、addEventListener を 2 回呼び出します。useCapture を true に設定して呼び出し、useCapture を false に設定してもう一度呼び出します。
| |
priority:int (default = 0) — イベントリスナーの優先度レベルです。優先度は、符号付き 32 ビット整数で指定します。数値が大きくなるほど優先度が高くなります。優先度が n のすべてのリスナーは、優先度が n-1 のリスナーよりも前に処理されます。複数のリスナーに対して同じ優先度が設定されている場合、それらは追加された順番に処理されます。デフォルトの優先度は 0 です。
| |
useWeakReference:Boolean (default = false) — リスナーへの参照が強参照と弱参照のいずれであるかを判断します。デフォルトである強参照の場合は、リスナーのガベージコレクションが回避されます。弱参照では回避されません。 クラスレベルメンバー関数はガベージコレクションの対象外であるため、クラスレベルメンバー関数の |
| close | () | メソッド |
public function close():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
進行中のロード操作は直ちに終了します。進行中のロード操作は直ちに終了します。URL が現在ストリーミングされていない場合、無効なストリームエラーがスローされます。
| load | () | メソッド |
public function load(request:URLRequest):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定された URL からデータを送信およびロードします。dataFormat プロパティに設定した値に基づき、テキスト、生のバイナリデータ、または URL エンコードされた変数としてデータを受け取ることができます。dataFormat プロパティのデフォルト値はテキストです。データを指定された URL に送信する場合は、URLRequest オブジェクトの data プロパティを設定できます。
注意:読み込み中のファイルに ASCII 文字以外の文字(英語以外の多くの言語に存在する)が含まれている場合は、ASCII のような非 Unicode 形式ではなく UTF-8 または UTF-16 エンコーディング形式でファイルを保存することをお勧めします。
ローカルファイルシステムのサンドボックスの SWF ファイルは、ネットワーク上のサンドボックス内のリソースからデータを読み込んだり、リソースにデータを書き込んだりしないことがあります。
デフォルトで、呼び出し元の SWF ファイルおよびロードする URL は同じドメインに置かれている必要があります。例えば、www.adobe.com に置かれている SWF ファイルは www.adobe.com に置かれているソースからのみデータをロードできます。 異なるドメインからデータをロードするには、データをホストするサーバに URL ポリシーファイルを配置します。
一般的な予約ポートには接続できません。ブロックされているポートの一覧については、セキュリティに関する章(『ActionScript 3.0 のプログラミング』)の「ネットワーク API の制限」を参照してください。
Flash Player 10 以降では、"multipart/form-data" などのマルチパート Content-Type にアップロードが含まれていると(アップロードが含まれているかどうかは POST ボディ内の "content-disposition" ヘッダーの "filename" パラメータで示されます)、そのアップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
また、すべてのマルチパート Content-Type では、RFC2046 標準に準拠した有効なシンタックスを使用する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
セキュリティ情報について詳しくは、以下を参照してください。
パラメータ
request:URLRequest — ダウンロードする URL を指定する URLRequest オブジェクトです。
|
complete: — データが正常にロードされた後に送出されます。 | |
httpStatus: — アクセスが HTTP 経由で、現在の Flash Player 環境がステータスコードの取得をサポートしている場合、complete イベントまたは error イベントに加えて、これらのイベントを受け取る場合があります。 | |
ioError: — ロード操作を完了できませんでした。 | |
progress: — ダウンロード処理を実行中にデータを受信したときに送出されます。 | |
securityError: — 呼び出し元のセキュリティ Sandbox の外部にあるサーバーからデータを取得しようとするロード操作です。これはサーバー上のポリシーファイルを使用すると回避できます。 | |
securityError: — ロード操作で SWZ ファイル(Adobe プラットフォームコンポーネント)を読み込もうとしましたが、証明書が無効であるか、ダイジェストがコンポーネントと一致しません。 | |
open: — ロード操作が開始したときに送出されます。 | |
httpResponseStatus: — load() メソッドを呼び出して HTTP を介してデータにアクセスを試み、Adobe AIR で要求のステータスコードを検出して返すことができる場合に送出されます。 |
ArgumentError — URLRequest.requestHeader オブジェクトには、禁止されている特定の HTTP リクエストヘッダを含めることはできません。詳細については、URLRequestHeader クラスの説明を参照してください。
| |
MemoryError — このエラーは、次の理由で発生する可能性があります。 1) Flash Player または AIR では URLRequest.data パラメータを UTF8 から MBCS に変換できません。このエラーは、load() に渡された URLRequest オブジェクトが GET 操作を行うように設定された場合、および System.useCodePage が true に設定された場合に発生することがあります。2) Flash Player または AIR では POST データにメモリを割り当てることができません。このエラーは、load に渡された URLRequest オブジェクトが POST 操作を行うように設定されている場合に発生することがあります。
| |
SecurityError — 信頼されていないローカルファイルはインターネットへの接続を許可されません。この問題は、このファイルを local-with-networking または trusted として分類し直すことで回避できます。
| |
SecurityError — 一般的な予約ポートに接続しようとした場合。ブロックされている全ポートの一覧については、『ActionScript 3.0 のプログラミング』のセキュリティに関する章の「ネットワーク API の制限」を参照してください。
| |
TypeError — 要求パラメータの値、または渡された URLRequest オブジェクトの URLRequest.url プロパティの値は null です。
|
関連項目
XML ファイルの場所を示す URLRequest オブジェクトを作成します。この例では、XML ファイルは SWF ファイルと同じディレクトリにあります。発生する可能性のあるエラーをキャッチするために、try...catch ブロックにファイルを読み込みます。この例では、SecurityError エラーをキャッチします。IO_ERROR イベントが発生すると、errorHandler() メソッドを呼び出します。このメソッドは、xmlTextField テキストフィールドにエラーメッセージを書き込みます。XML ファイルのデータを受信して loader URLLoader オブジェクトのデータプロパティに格納した後、Event.COMPLETE イベントを送出し、loaderCompleteHandler() メソッドを呼び出します。
loaderCompleteHandler() メソッドで、try...catch ブロックを使用して、読み込んだデータをファイルから XML オブジェクトに変換する際に発生する解析エラーをキャッチします。次に、readNodes() メソッドで XML ドキュメントのノード内にあるすべてのエレメントを回帰的に読み取り、すべてのエレメントの先頭にある属性のリストを xmlTextField テキストフィールドに付加します。
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.xml.*;
import flash.events.IOErrorEvent;
public class URLLoader_loadExample extends Sprite {
private var xmlTextField:TextField = new TextField();
private var externalXML:XML;
private var loader:URLLoader;
public function URLLoader_loadExample() {
var request:URLRequest = new URLRequest("xmlFile.xml");
loader = new URLLoader();
try {
loader.load(request);
}
catch (error:SecurityError)
{
trace("A SecurityError has occurred.");
}
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
xmlTextField.x = 10;
xmlTextField.y = 10;
xmlTextField.background = true;
xmlTextField.autoSize = TextFieldAutoSize.LEFT;
addChild(xmlTextField);
}
private function loaderCompleteHandler(event:Event):void {
try {
externalXML = new XML(loader.data);
readNodes(externalXML);
} catch (e:TypeError) {
trace("Could not parse the XML file.");
}
}
private function readNodes(node:XML):void {
for each (var element:XML in node.elements()) {
xmlTextField.appendText(element.attributes()[0] + "\n");
readNodes(element);
}
}
private function errorHandler(e:IOErrorEvent):void {
xmlTextField.text = "Had problem loading the XML File.";
}
}
}
| complete | イベント |
flash.events.Eventflash.events.Event.COMPLETE| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
受信したすべてのデータがデコードされ、URLLoader オブジェクトの data プロパティに配置された後に送出されます。このイベントが送出されると、受信したデータにアクセスできます。
Event.COMPLETE 定数は、type プロパティ(complete イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | ロードが完了したネットワークオブジェクトです。 |
関連項目
| イベント |
flash.events.HTTPStatusEventflash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, AIR 1.0 |
load() メソッドを呼び出して HTTP を介してデータにアクセスを試み、Adobe AIR で要求のステータスコードを検出して返すことができる場合に送出されます。
httpStatus イベントと異なり、httpResponseStatus イベントは応答データの前に配信されます。また、httpResponseStatus イベントには responseHeaders プロパティと responseURL プロパティの値が含まれます(これらは httpStatus イベントでは定義されていません)。httpResponseStatus イベントは、発生した場合、complete イベントまたは error イベントの前に、これらのイベントとは別に送信されます。
HTTPStatusEvent.HTTP_RESPONSE_STATUS 定数は、type プロパティ(httpResponseStatus イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
responseURL | 応答の返送元の URL です。 |
responseHeaders | 返された応答ヘッダ (URLRequestHeader オブジェクトの配列) です。 |
status | サーバーから返された HTTP ステータスコードです。 |
target | HTTP ステータスコードを受け取るネットワークオブジェクトです。 |
関連項目
| httpStatus | イベント |
flash.events.HTTPStatusEventflash.events.HTTPStatusEvent.HTTP_STATUS| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
URLLoader.load() が HTTP 経由でデータにアクセスしようとすると送出されます。Flash Player で実行されているコンテンツでは、このイベントは、現在の Flash Player 環境が要求のステータスコードを検出して返すことができる場合にのみ送出されます (一部のブラウザ環境ではこの情報を提供できません)。httpStatus イベントが送出される場合、このイベントは、complete イベントまたは error イベントの前に、これらのイベントとは別に送信されます。
HTTPStatusEvent.HTTP_STATUS 定数は、type プロパティ(httpStatus イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
status | サーバーから返された HTTP ステータスコードです。 |
target | HTTP ステータスコードを受け取るネットワークオブジェクトです。 |
関連項目
| ioError | イベント |
flash.events.IOErrorEventflash.events.IOErrorEvent.IO_ERROR| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
URLLoader.load() の呼び出しによってダウンロードが終了するという致命的なエラーが発生する場合に送出されます。
type プロパティ (ioError イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
errorID | 特定のエラーに関連付けられた参照番号です(AIR のみ)。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連項目
| open | イベント |
flash.events.Eventflash.events.Event.OPEN| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
URLLoader.load() メソッドの呼び出しによりダウンロード処理が開始されると送出されます。
Event.OPEN 定数は、type プロパティ(open イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続をオープンしたネットワークオブジェクトです。 |
関連項目
| progress | イベント |
flash.events.ProgressEventflash.events.ProgressEvent.PROGRESS| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ダウンロード処理を実行中にデータを受信したときに送出されます。
URLLoader オブジェクトでは、完全にデータが受信されるまではデータにアクセスできません。このため、progress イベントの通知でしかダウンロードの進行状況を確認できません。完全にダウンロードされる前にデータにアクセスするには、URLStream オブジェクトを使用します。
type プロパティ (progress イベントオブジェクト) の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
bytesLoaded | リスナーがイベントを処理しているときにロードされたアイテム数またはバイト数です。 |
bytesTotal | ロードプロセスが成功した場合に最終的にロードされるアイテムまたはバイトの総数です。 |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 進行状況をレポートする オブジェクトです。 |
関連項目
| securityError | イベント |
flash.events.SecurityErrorEventflash.events.SecurityErrorEvent.SECURITY_ERROR| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
URLLoader.load() の呼び出しによってセキュリティサンドボックスの外部にあるサーバーからデータをロードしようとすると送出されます。また、URLLoader.load() の呼び出しによって SWZ ファイルをロードしようとした場合に、証明書が無効であるか、ダイジェストのストリングがコンポーネントと一致しないときに送出されます。
SecurityErrorEvent.SECURITY_ERROR 定数は、type プロパティ(securityError イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
| プロパティ | 値 |
|---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | セキュリティエラーを報告するネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連項目
メモ : この例を実行するには、urlLoaderExample.txt ファイルを SWF ファイルと同じディレクトリに配置します。このファイルには、次のテキスト行のみが含まれています。answer=42&question=unknown
コード例では、次の処理が実行されます。
loader という URLLoader インスタンスと、読み込まれるファイルの場所と名前を含む request という URLRequest インスタンスを作成します。loader オブジェクトが configureListeners() メソッドに渡されます。このメソッドは、サポートされる各 URLLoader イベントのリスナーを追加します。request オブジェクトが、テキストファイルを読み込む loader.load() に渡されます。Event.COMPLETE event イベントが発生し、completeHandler() メソッドがトリガされます。completeHandler() メソッドはファイルからロードされたテキストから URLVariables オブジェクトを作成します。URLVariables オブジェクトは、URL エンコードされた名前と値のペアを ActionScript プロパティに変換し、ロードされたデータを操作しやすくします。
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.*;
public class URLLoaderExample extends Sprite {
public function URLLoaderExample() {
var loader:URLLoader = new URLLoader();
configureListeners(loader);
var request:URLRequest = new URLRequest("urlLoaderExample.txt");
try {
loader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
}
private function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
dispatcher.addEventListener(Event.OPEN, openHandler);
dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}
private function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
trace("completeHandler: " + loader.data);
var vars:URLVariables = new URLVariables(loader.data);
trace("The answer is " + vars.answer);
}
private function openHandler(event:Event):void {
trace("openHandler: " + event);
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function httpStatusHandler(event:HTTPStatusEvent):void {
trace("httpStatusHandler: " + event);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("ioErrorHandler: " + event);
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/net/URLLoader.html