パッケージflash.net
クラスpublic class URLLoader
継承URLLoader Inheritance EventDispatcher Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

URLLoader クラスは、指定した URL からテキスト、バイナリデータ、または URL エンコード形式の変数をダウンロードする際に使用します。動的なデータ駆動アプリケーションで使用するテキストファイル、XML、その他の情報をダウンロードする場合に便利です。

URLLoader オブジェクトは、アプリケーションのコードでデータを使用できるように、事前にすべてのデータを URL からダウンロードします。 URLLoader オブジェクトは、ダウンロードの進捗に関する通知を送信します。この通知は、送出済みのイベントと、bytesLoaded プロパティおよび bytesTotal プロパティで監視できます。

FLV のように非常に大きなビデオファイルをロードする場合、メモリ不足のエラーが起こることがあります。

Flash Player、およびアプリケーションセキュリティサンドボックス以外のセキュリティサンドボックス内の AIR アプリケーションコンテンツでこのクラスを使用するときは、次のセキュリティモデルを考慮してください。

セキュリティ情報について詳しくは、次を参照してください。

例を表示

関連項目

URLRequest
URLVariables
URLStream
Reading external XML documents
Working with external data


パブリックプロパティ
 プロパティ定義元
  bytesLoaded : uint = 0
ロード操作中に、既にロード済みのデータのバイト数を示します。
URLLoader
  bytesTotal : uint = 0
ダウンロードデータの合計バイト数を示します。
URLLoader
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  data : *
ロード操作によって受信したデータです。
URLLoader
  dataFormat : String = "text"
ダウンロードしたデータがテキスト (URLLoaderDataFormat.TEXT) 生のバイナリデータ (URLLoaderDataFormat.BINARY)、または URL エンコードされた変数 (URLLoaderDataFormat.VARIABLES) のいずれであるかを制御します。
URLLoader
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
  
URLLoader(request:URLRequest = null)
URLLoader オブジェクトを作成します。
URLLoader
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
[override] イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
URLLoader
  
進行中のロード操作は直ちに終了します。
URLLoader
 Inherited
イベントをイベントフローに送出します。
EventDispatcher
 Inherited
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
指定された URL からデータを送信およびロードします。
URLLoader
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
 Inherited
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
イベント
 イベント 概要 定義元
 Inherited[ブロードキャスト イベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。EventDispatcher
  受信したすべてのデータがデコードされ、URLLoader オブジェクトの data プロパティに配置された後に送出されます。URLLoader
 Inherited[ブロードキャスト イベント] 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 に別の値を設定)を再度呼び出すと、別のリスナー登録が作成されることに注意してください。たとえば、最初にリスナーを登録するときに useCapturetrue に設定すると、そのリスナーはキャプチャ段階のみでリスニングします。同じリスナーオブジェクトを使用して再度 addEventListener() を呼び出すと(このとき、useCapturefalse に設定)、異なる 2 つのリスナーが登録されます。1 つはキャプチャ段階でリスニングするリスナーで、もう 1 つはターゲット段階とバブリング段階でリスニングするリスナーです。

ターゲット段階またはバブリング段階のみを対象とするイベントリスナーを登録することはできません。登録時にこれらの段階が組み合わされるのは、バブリングはターゲットノードの祖先にしか適用されないためです。

イベントリスナーが不要になった場合は、removeEventListener() を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。ガベージコレクターは参照を有するオブジェクトを削除しないため、登録されているイベントリスナーに関係したオブジェクトはメモリから自動的に除去されません。

EventDispatcher インスタンスをコピーしても、それに関連付けられているイベントリスナーはコピーされません。新しく作成したノードにイベントリスナーが必要な場合は、ノードを作成した後に、リスナーを関連付ける必要があります。ただし、EventDispatcher インスタンスを移動した場合は、関連付けられているイベントリスナーも一緒に移動されます。

イベントがノードで処理されるときに、イベントリスナーがそのノードに登録中であれば、イベントリスナーは現在の段階ではトリガされません。ただし、バブリング段階など、イベントフローの後の段階でトリガすることができます。

イベントがノードで処理されているときにイベントリスナーがノードから削除された場合でも、イベントは現在のアクションによってトリガされます。削除された後は、その後の処理で再び登録されない限り、イベントリスナーは二度と呼び出されません。

パラメータ

type:String — イベントのタイプです。
 
listener:Function — イベントを処理するリスナー関数です。この関数は、次の例のように、Event オブジェクトを唯一のパラメータとして受け取り、何も返さないものである必要があります。
function(evt:Event):void

関数の名前は任意に付けられます。

 
useCapture:Boolean (default = false)リスナーが、キャプチャ段階、またはターゲットおよびバブリング段階で動作するかどうかを判断します。useCapturetrue に設定すると、リスナーはキャプチャ段階のみでイベントを処理し、ターゲット段階またはバブリング段階では処理しません。useCapturefalse に設定すると、リスナーはターゲット段階またはバブリング段階のみでイベントを処理します。3 つの段階すべてでイベントを受け取るには、addEventListener を 2 回呼び出します。useCapturetrue に設定して呼び出し、useCapturefalse に設定してもう一度呼び出します。
 
priority:int (default = 0) — イベントリスナーの優先度レベルです。優先度は、符号付き 32 ビット整数で指定します。数値が大きくなるほど優先度が高くなります。優先度が n のすべてのリスナーは、優先度が n-1 のリスナーよりも前に処理されます。複数のリスナーに対して同じ優先度が設定されている場合、それらは追加された順番に処理されます。デフォルトの優先度は 0 です。
 
useWeakReference:Boolean (default = false) — リスナーへの参照が強参照と弱参照のいずれであるかを判断します。デフォルトである強参照の場合は、リスナーのガベージコレクションが回避されます。弱参照では回避されません。

クラスレベルメンバー関数はガベージコレクションの対象外であるため、クラスレベルメンバー関数の useWeakReference は、ガベージコレクションの制限とは無関係に true に設定できます。ネストされた内部の関数であるリスナーに対して useWeakReferencetrue に設定すると、その関数はガベージコレクションされ、永続的ではなくなります。inner 関数に対する参照を作成(別の変数に保存)した場合、その関数はガベージコレクションされず、永続化された状態のままになります。

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:Event — データが正常にロードされた後に送出されます。
 
httpStatus:HTTPStatusEvent — アクセスが HTTP 経由で、現在の Flash Player 環境がステータスコードの取得をサポートしている場合、complete イベントまたは error イベントに加えて、これらのイベントを受け取る場合があります。
 
ioError:IOErrorEvent — ロード操作を完了できませんでした。
 
progress:ProgressEvent — ダウンロード処理を実行中にデータを受信したときに送出されます。
 
securityError:SecurityErrorEvent — 呼び出し元のセキュリティ Sandbox の外部にあるサーバーからデータを取得しようとするロード操作です。これはサーバー上のポリシーファイルを使用すると回避できます。
 
securityError:SecurityErrorEvent — ロード操作で SWZ ファイル(Adobe プラットフォームコンポーネント)を読み込もうとしましたが、証明書が無効であるか、ダイジェストがコンポーネントと一致しません。
 
open:Event — ロード操作が開始したときに送出されます。
 
httpResponseStatus:HTTPStatusEventload() メソッドを呼び出して HTTP を介してデータにアクセスを試み、Adobe AIR で要求のステータスコードを検出して返すことができる場合に送出されます。

例外
ArgumentError URLRequest.requestHeader オブジェクトには、禁止されている特定の HTTP リクエストヘッダを含めることはできません。詳細については、URLRequestHeader クラスの説明を参照してください。
 
MemoryError — このエラーは、次の理由で発生する可能性があります。 1) Flash Player または AIR では URLRequest.data パラメータを UTF8 から MBCS に変換できません。このエラーは、load() に渡された URLRequest オブジェクトが GET 操作を行うように設定された場合、および System.useCodePagetrue に設定された場合に発生することがあります。2) Flash Player または AIR では POST データにメモリを割り当てることができません。このエラーは、load に渡された URLRequest オブジェクトが POST 操作を行うように設定されている場合に発生することがあります。
 
SecurityError — 信頼されていないローカルファイルはインターネットへの接続を許可されません。この問題は、このファイルを local-with-networking または trusted として分類し直すことで回避できます。
 
SecurityError — 一般的な予約ポートに接続しようとした場合。ブロックされている全ポートの一覧については、『ActionScript 3.0 のプログラミング』のセキュリティに関する章の「ネットワーク API の制限」を参照してください。
 
TypeError — 要求パラメータの値、または渡された URLRequest オブジェクトの URLRequest.url プロパティの値は null です。

関連項目




次の例は、XML ファイルを読み込み、そのエレメントの最初の引数の内容をテキストフィールドに表示します。

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.Event
プロパティ Event.type = flash.events.Event.COMPLETE

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

受信したすべてのデータがデコードされ、URLLoader オブジェクトの data プロパティに配置された後に送出されます。このイベントが送出されると、受信したデータにアクセスできます。

Event.COMPLETE 定数は、type プロパティ(complete イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetロードが完了したネットワークオブジェクトです。

関連項目

AIR-only httpResponseStatus イベント  
イベントオブジェクトの型: flash.events.HTTPStatusEvent
プロパティ HTTPStatusEvent.type = flash.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 イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
responseURL応答の返送元の URL です。
responseHeaders返された応答ヘッダ (URLRequestHeader オブジェクトの配列) です。
statusサーバーから返された HTTP ステータスコードです。
targetHTTP ステータスコードを受け取るネットワークオブジェクトです。

関連項目

httpStatus イベント  
イベントオブジェクトの型: flash.events.HTTPStatusEvent
プロパティ HTTPStatusEvent.type = flash.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 イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
statusサーバーから返された HTTP ステータスコードです。
targetHTTP ステータスコードを受け取るネットワークオブジェクトです。

関連項目

ioError イベント  
イベントオブジェクトの型: flash.events.IOErrorEvent
プロパティ IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

URLLoader.load() の呼び出しによってダウンロードが終了するという致命的なエラーが発生する場合に送出されます。

type プロパティ (ioError イベントオブジェクト) の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
errorID特定のエラーに関連付けられた参照番号です(AIR のみ)。
target入出力エラーが発生したネットワークオブジェクトです。
textエラーメッセージとして表示されるテキストです。

関連項目

open イベント  
イベントオブジェクトの型: flash.events.Event
プロパティ Event.type = flash.events.Event.OPEN

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

URLLoader.load() メソッドの呼び出しによりダウンロード処理が開始されると送出されます。

Event.OPEN 定数は、type プロパティ(open イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target接続をオープンしたネットワークオブジェクトです。

関連項目

progress イベント  
イベントオブジェクトの型: flash.events.ProgressEvent
プロパティ ProgressEvent.type = flash.events.ProgressEvent.PROGRESS

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ダウンロード処理を実行中にデータを受信したときに送出されます。

URLLoader オブジェクトでは、完全にデータが受信されるまではデータにアクセスできません。このため、progress イベントの通知でしかダウンロードの進行状況を確認できません。完全にダウンロードされる前にデータにアクセスするには、URLStream オブジェクトを使用します。

type プロパティ (progress イベントオブジェクト) の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
bytesLoadedリスナーがイベントを処理しているときにロードされたアイテム数またはバイト数です。
bytesTotalロードプロセスが成功した場合に最終的にロードされるアイテムまたはバイトの総数です。
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
target進行状況をレポートする オブジェクトです。

関連項目

securityError イベント  
イベントオブジェクトの型: flash.events.SecurityErrorEvent
プロパティ SecurityErrorEvent.type = flash.events.SecurityErrorEvent.SECURITY_ERROR

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

URLLoader.load() の呼び出しによってセキュリティサンドボックスの外部にあるサーバーからデータをロードしようとすると送出されます。また、URLLoader.load() の呼び出しによって SWZ ファイルをロードしようとした場合に、証明書が無効であるか、ダイジェストのストリングがコンポーネントと一致しないときに送出されます。

SecurityErrorEvent.SECURITY_ERROR 定数は、type プロパティ(securityError イベントオブジェクト)の値を定義します。

このイベントには、次のプロパティがあります。

プロパティ
bubblesfalse
cancelablefalse は、キャンセルするデフォルトの動作がないことを示します。
currentTargetイベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
targetセキュリティエラーを報告するネットワークオブジェクトです。
textエラーメッセージとして表示されるテキストです。

関連項目

例の使用法
URLLoaderExample.as

次の例では、ローカルテキストファイルで検出されたデータをロードして表示します。また、イベント処理情報も出力します。

メモ : この例を実行するには、urlLoaderExample.txt ファイルを SWF ファイルと同じディレクトリに配置します。このファイルには、次のテキスト行のみが含まれています。answer=42&question=unknown

コード例では、次の処理が実行されます。

  1. コンストラクタ関数が loader という URLLoader インスタンスと、読み込まれるファイルの場所と名前を含む request という URLRequest インスタンスを作成します。
  2. loader オブジェクトが configureListeners() メソッドに渡されます。このメソッドは、サポートされる各 URLLoader イベントのリスナーを追加します。
  3. 次に request オブジェクトが、テキストファイルを読み込む loader.load() に渡されます。
  4. URLLoader によるテキストファイルのロードが終了すると、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