パッケージ | flash.net |
クラス | public class URLLoader |
継承 | URLLoader EventDispatcher Object |
サブクラス | AVURLLoader |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader オブジェクトは、アプリケーションのコードでデータを使用できるように、事前にすべてのデータを URL からダウンロードします。 URLLoader オブジェクトは、ダウンロードの進捗に関する通知を送信します。この通知は、送出済みのイベントと、bytesLoaded
プロパティおよび bytesTotal
プロパティで監視できます。
FLV のように非常に大きなビデオファイルをロードする場合、メモリ不足のエラーが起こることがあります。
Flash Player、およびアプリケーションセキュリティサンドボックス以外のセキュリティサンドボックス内の AIR アプリケーションコンテンツでこのクラスを使用するときは、次のセキュリティモデルを考慮してください。
- ローカルファイルシステムのサンドボックスの SWF ファイルは、ネットワーク上のサンドボックス内のリソースからデータを読み込んだり、リソースにデータを書き込んだりしないことがあります。
- デフォルトで、呼び出し元の SWF ファイルおよびロードする URL は同じドメインに置かれている必要があります。例えば、www.adobe.com に置かれている SWF ファイルは www.adobe.com に置かれているソースからのみデータをロードできます。 異なるドメインからデータをロードするには、データをホストするサーバーに URL ポリシーファイルを配置します。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
bytesLoaded : uint = 0
ロード操作中に、既にロード済みのデータのバイト数を示します。 | URLLoader | ||
bytesTotal : uint = 0
ダウンロードデータの合計バイト数を示します。 | URLLoader | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
data : *
ロード操作によって受信したデータです。 | URLLoader | ||
dataFormat : String = "text"
ダウンロードしたデータがテキスト(URLLoaderDataFormat.TEXT)生のバイナリデータ (URLLoaderDataFormat.BINARY)、または URL エンコードされた変数(URLLoaderDataFormat.VARIABLES)のいずれであるかを制御します。 | URLLoader |
メソッド | 定義元 | ||
---|---|---|---|
URLLoader(request:URLRequest = null)
URLLoader オブジェクトを作成します。 | URLLoader | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void [オーバーライド]
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | URLLoader | ||
進行中のロード操作は直ちに終了します。 | URLLoader | ||
イベントをイベントフローに送出します。 | EventDispatcher | ||
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定された URL からデータを送信およびロードします。 | URLLoader | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | 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, Flash Lite 4 |
ロード操作中に、既にロード済みのデータのバイト数を示します。
bytesTotal | プロパティ |
public var bytesTotal:uint = 0
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ダウンロードデータの合計バイト数を示します。このプロパティは、ロード操作の進行中は 0 を格納し、操作が完了した時点で設定されます。また、Content-Length ヘッダーがない場合、bytesTotal の値が不確定になります。
data | プロパティ |
public var data:*
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ロード操作によって受信したデータです。このプロパティは、ロード操作が完了したときにのみ設定されます。データの形式は、dataFormat
プロパティの設定によって決まります。
dataFormat
プロパティが URLLoaderDataFormat.TEXT
の場合、受け取るデータは、ロードされたファイルのテキストを含むストリングです。
dataFormat
プロパティが URLLoaderDataFormat.BINARY
の場合、受け取るデータは、生のバイナリデータを含む ByteArray オブジェクトです。
dataFormat
プロパティが URLLoaderDataFormat.VARIABLES
の場合、受け取るデータは、URL エンコードされた変数を含む URLVariables オブジェクトです。
関連する API エレメント
例 ( この例の使用方法 )
//params.txt is a local file that includes: firstName=Tom&lastName=Jones var lbl:TextField = new TextField(); var urlRequest:URLRequest = new URLRequest("params.txt"); var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES; urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); function urlLoader_complete(evt:Event):void { lbl.text = urlLoader.data.lastName + "," + urlLoader.data.firstName; addChild(lbl); }
dataFormat | プロパティ |
public var dataFormat:String = "text"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ダウンロードしたデータがテキスト(URLLoaderDataFormat.TEXT
)、生のバイナリデータ(URLLoaderDataFormat.BINARY
)、または URL エンコードされた変数(URLLoaderDataFormat.VARIABLES
)のいずれであるかを制御します。
dataFormat
プロパティの値が URLLoaderDataFormat.TEXT
の場合、受け取るデータは、ロードされたファイルのテキストを含むストリングです。
dataFormat
プロパティの値が URLLoaderDataFormat.BINARY
の場合、受け取るデータは、生のバイナリデータを含む ByteArray オブジェクトです。
dataFormat
プロパティの値が URLLoaderDataFormat.VARIABLES
の場合、受け取るデータは、URL エンコードされた変数を含む URLVariables オブジェクトです。
デフォルト値: URLLoaderDataFormat.TEXT。
関連する API エレメント
例 ( この例の使用方法 )
var PATH:String = "lorem.txt"; var urlRequest:URLRequest = new URLRequest(PATH); var urlLoader:URLLoader = new URLLoader(); urlLoader.dataFormat = URLLoaderDataFormat.TEXT; // default urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete); urlLoader.load(urlRequest); function urlLoader_complete(evt:Event):void { textArea.text = urlLoader.data; }
URLLoader | () | コンストラクター |
public function URLLoader(request:URLRequest = null)
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader オブジェクトを作成します。
パラメーターrequest:URLRequest (default = null ) — ダウンロードする URL を指定する URLRequest オブジェクトです。このパラメーターを省略すると、ロード操作は開始されません。指定すると、直ちにロード操作が開始されます。詳細については、load を参照してください。
|
関連する API エレメント
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, Flash Lite 4 |
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。イベントリスナーは、特定のタイプのイベント、段階、および優先度に関する表示リスト内のすべてのノードに登録できます。
イベントリスナーが正常に登録された後に、addEventListener()
をさらに呼び出して優先度を変更することはできません。リスナーの優先度を変更するには、最初に removeListener()
を呼び出す必要があります。その後、同じリスナーを新しい優先度レベルで再度登録できます。
リスナーが登録された後に、addEventListener()
(type
または useCapture
に別の値を設定)を再度呼び出すと、別のリスナー登録が作成されることに注意してください。例えば、最初にリスナーを登録するときに useCapture
を true
に設定すると、そのリスナーはキャプチャ段階のみでリスニングします。同じリスナーオブジェクトを使用して再度 addEventListener()
を呼び出すと(このとき、useCapture
に false
を設定)、異なる 2 つのリスナーが登録されます。1 つはキャプチャ段階でリスニングするリスナーで、もう 1 つはターゲット段階とバブリング段階でリスニングするリスナーです。
ターゲット段階またはバブリング段階のみを対象とするイベントリスナーを登録することはできません。登録時にこれらの段階が組み合わされるのは、バブリングはターゲットノードの祖先にしか適用されないためです。
イベントリスナーが不要になった場合は、removeEventListener()
を呼び出して、イベントリスナーを削除します。削除しない場合、メモリの問題が発生する可能性があります。ガベージコレクションでは、オブジェクトの送出が行われている限り、リスナーを削除しないので、イベントリスナーは自動的には削除されません(useWeakReference
パラメーターが true
に設定されていない場合)。
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 bit 整数で指定します。数値が大きくなるほど優先度が高くなります。優先度が n のすべてのリスナーは、優先度が n-1 のリスナーよりも前に処理されます。複数のリスナーに対して同じ優先度が設定されている場合、それらは追加された順番に処理されます。デフォルトの優先度は 0 です。
| |
useWeakReference:Boolean (default = false ) — リスナーへの参照が強参照と弱参照のいずれであるかを判断します。デフォルトである強参照の場合は、リスナーのガベージコレクションが回避されます。弱参照では回避されません。 クラスレベルメンバー関数はガベージコレクションの対象外であるため、クラスレベルメンバー関数の |
close | () | メソッド |
public function close():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
進行中のロード操作は直ちに終了します。進行中のロード操作は直ちに終了します。URL が現在ストリーミングされていない場合、無効なストリームエラーがスローされます。
load | () | メソッド |
public function load(request:URLRequest):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定された 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 処理が拘束されます。
- POST 処理は、マウスのクリックやキーの押下などのユーザーが開始したアクションに応答して実行する必要があります。
- POST 処理がクロスドメインである(POST ターゲットが、POST 要求を送信中の SWF ファイルと同じサーバー上にない)場合は、クロスドメインアクセスを許可する URL ポリシーファイルをターゲットサーバーが提供する必要があります。
また、すべてのマルチパート Content-Type では、RFC2046 標準に準拠した有効なシンタックスを使用する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。
セキュリティについて詳しくは、Flash Player デベロッパーセンターのトピック:セキュリティを参照してください。
パラメーター
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 です。
|
関連する API エレメント
例 ( この例の使用方法 )
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, Flash Lite 4 |
受信したすべてのデータがデコードされ、URLLoader オブジェクトの data プロパティに配置された後に送出されます。このイベントが送出されると、受信したデータにアクセスできます。
Event.COMPLETE
定数は、type
プロパティ(complete
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 読み込みが完了したネットワークオブジェクトです。 |
関連する API エレメント
httpResponseStatus | イベント |
flash.events.HTTPStatusEvent
プロパティ HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_RESPONSE_STATUS
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, AIR 1.0, Flash Lite 4 |
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 ステータスコードです。 |
redirected | 応答にリダイレクトの結果があるかどうか。 |
target | HTTP ステータスコードを受け取るネットワークオブジェクトです。 |
関連する API エレメント
httpStatus | イベント |
flash.events.HTTPStatusEvent
プロパティ HTTPStatusEvent.type =
flash.events.HTTPStatusEvent.HTTP_STATUS
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 ステータスコードを受け取るネットワークオブジェクトです。 |
関連する API エレメント
ioError | イベント |
flash.events.IOErrorEvent
プロパティ IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader.load() の呼び出し時に致命的なエラーが発生してダウンロードが終了した場合に送出されます。
type
プロパティ(ioError
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
errorID | 特定のエラーに関連付けられた参照番号です(AIR のみ)。 |
target | 入出力エラーが発生したネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連する API エレメント
open | イベント |
flash.events.Event
プロパティ Event.type =
flash.events.Event.OPEN
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader.load()
メソッドの呼び出しによりダウンロード処理が開始されると送出されます。
Event.OPEN
定数は、type
プロパティ(open
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 接続をオープンしたネットワークオブジェクトです。 |
関連する API エレメント
progress | イベント |
flash.events.ProgressEvent
プロパティ ProgressEvent.type =
flash.events.ProgressEvent.PROGRESS
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ダウンロード処理を実行中にデータを受信したときに送出されます。
URLLoader オブジェクトでは、完全にデータが受信されるまではデータにアクセスできません。このため、progress イベントの通知でしかダウンロードの進行状況を確認できません。完全にダウンロードされる前にデータにアクセスするには、URLStream オブジェクトを使用します。
type
プロパティ(progress
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
bytesLoaded | リスナーがイベントを処理しているときに読み込まれたアイテム数またはバイト数です。 |
bytesTotal | 読み込みプロセスが成功した場合に最終的に読み込まれるアイテムまたはバイトの総数です。 |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | 進行状況をレポートする オブジェクトです。 |
関連する API エレメント
securityError | イベント |
flash.events.SecurityErrorEvent
プロパティ SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
URLLoader.load() の呼び出しによってセキュリティサンドボックスの外部にあるサーバーからデータを読み込もうとすると送出されます。また、URLLoader.load()
の呼び出しによって SWZ ファイルをロードしようとした場合に、証明書が無効であるか、ダイジェストのストリングがコンポーネントと一致しないときに送出されます。
SecurityErrorEvent.SECURITY_ERROR
定数は、type
プロパティ(securityError
イベントオブジェクト)の値を定義します。
このイベントには、次のプロパティがあります。
プロパティ | 値 |
---|---|
bubbles | false |
cancelable | false は、キャンセルするデフォルトの動作がないことを示します。 |
currentTarget | イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。 |
target | セキュリティエラーを報告するネットワークオブジェクトです。 |
text | エラーメッセージとして表示されるテキストです。 |
関連する API エレメント
注意:この例を実行するには、urlLoaderExample.txt ファイルを SWF ファイルと同じディレクトリに配置します。このファイルには、次のテキスト行のみが含まれています。answer=42&question=unknown
コード例では、次の処理が実行されます。
- コンストラクター関数が
loader
という URLLoader インスタンスと、ロードされるファイルの場所と名前を含むrequest
という URLRequest インスタンスを作成します。 loader
オブジェクトがconfigureListeners()
メソッドに渡されます。このメソッドは、サポートされる各 URLLoader イベントのリスナーを追加します。- 次に
request
オブジェクトが、テキストファイルをロードするloader.load()
に渡されます。 - 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 { private loader:URLoader; public function URLLoaderExample() { loader = 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); } } }
Tue Jun 12 2018, 10:34 AM Z