パッケージflash.system
クラスpublic class LoaderContext
継承LoaderContext Inheritance Object

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

LoaderContext クラスは、Loader クラスを使用して、SWF ファイルなどのメディアをロードするオプションを指定します。LoaderContext クラスは、Loader クラスの load() および loadBytes() メソッドで context パラメータとして使用されます。

Loader.load() メソッドで SWF ファイルをロードする場合、次の 2 つのことを決定します。ロードした SWF ファイルをどのセキュリティドメインに配置するか、およびそのセキュリティドメイン内のどのアプリケーションドメインに配置するかです。これらの選択の詳細については、applicationDomain および securityDomain プロパティを参照してください。

Loader.loadBytes() メソッドで SWF ファイルをロードする場合、Loader.load() の場合と同じアプリケーションドメイン選択がありますが、セキュリティドメインを指定する必要はありません。Loader.loadBytes() では、ロードされた SWF ファイルが常にロード元 SWF ファイルのセキュリティドメインに配置されるためです。

SWF ファイルではなくイメージ (JPEG、GIF、または PNG) をロードする場合、SecurityDomain またはアプリケーションドメインを指定する必要はありません。これらの概念は SWF ファイルに対してのみ意味を持ちます。代わりに、次のことのみを決定します。ロードしたイメージのピクセルにプログラムによってアクセスする必要があるかどうかです。必要がある場合は、checkPolicyFile プロパティを参照してください。

関連項目

flash.display.Loader.load()
flash.display.Loader.loadBytes()
flash.system.ApplicationDomain
flash.system.LoaderContext.applicationDomain
flash.system.LoaderContext.checkPolicyFile
flash.system.LoaderContext.securityDomain
flash.system.SecurityDomain
ロードするコンテンツの指定


パブリック プロパティ
 プロパティ定義元
  applicationDomain : ApplicationDomain = null
Loader.load() または Loader.loadBytes() メソッドで使用するアプリケーションドメインを指定します。
LoaderContext
  checkPolicyFile : Boolean = false
オブジェクト自体のロードを開始する前に、Flash Player が、ロードされるオブジェクトのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。
LoaderContext
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  securityDomain : SecurityDomain = null
Loader.load() 操作に使用するセキュリティドメインを指定します。
LoaderContext
パブリック メソッド
 メソッド定義元
  
LoaderContext(checkPolicyFile:Boolean = false, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null)
指定された設定で、新しい LoaderContext オブジェクトを作成します。
LoaderContext
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
applicationDomainプロパティ
public var applicationDomain:ApplicationDomain = null

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

Loader.load() または Loader.loadBytes() メソッドで使用するアプリケーションドメインを指定します。ActionScript 1.0 や ActionScript 2.0 で記述されたイメージまたは SWF ファイルではなく、ActionScript 3.0 で記述された SWF ファイルをロードする場合にのみ、このプロパティを使用します。

すべてのセキュリティドメインは、複数のアプリケーションドメインに分割することもできます。アプリケーションドメインは ApplicationDomain オブジェクトで表されます。アプリケーションドメインの目的はセキュリティではありません。ActionScript コードの協調単位の管理が目的です。別のドメインから SWF ファイルをロードし、別のセキュリティドメインへの配置を許可する場合、ロードされた SWF ファイルが配置されるアプリケーションドメインの選択は制御できません。アプリケーションドメインの選択を指定した場合は、無視されます。ただし、SWF ファイルが独自のドメインから取得されるため、または SWF ファイルをセキュリティドメインに読み込むため、独自のセキュリティドメインに SWF ファイルをロードする場合は、ロードされる SWF ファイルに対するアプリケーションドメインの選択を制御できます。

独自のセキュリティドメインからのみ、LoaderContext.applicationDomain でアプリケーションドメインを渡すことができます。その他のセキュリティドメインからアプリケーションドメインを渡そうとすると、SecurityError 例外になります。

使用する ApplicationDomain プロパティは、次の 4 種類から選択できます。

ロードの完了後、ApplicationDomain.getDefinition() を呼び出すために、ロードする側またはロードされる側のいずれかが独自の ApplicationDomain または他方の ApplicationDomain を見つける必要がある場合があります。いずれの側も、ApplicationDomain.currentDomain によって独自のアプリケーションドメインの参照を取得できます。ロード元 SWF ファイルは、Loader.contentLoaderInfo.applicationDomain によって、ロードされた SWF ファイルの ApplicationDomain の参照を取得できます。ロードされた SWF ファイルで、自身がどのようにロードされたかがわかる場合は、ロード元 SWF ファイルの ApplicationDomain オブジェクトを見つけることができます。たとえば、子がデフォルトの方法でロードされた場合、ApplicationDomain.currentDomain.parentDomain によって、子はロード元 SWF ファイルのアプリケーションドメインを見つけることができます。

詳細については、『ActionScript 3.0 のプログラミング』の「クライアントのシステム環境」の章の「ApplicationDomain クラス」を参照してください。

関連項目

checkPolicyFileプロパティ 
public var checkPolicyFile:Boolean = false

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

オブジェクト自体のロードを開始する前に、Flash Player が、ロードされるオブジェクトのサーバーからクロスドメインポリシーファイルをダウンロードしようとするかどうかを指定します。このフラグは、Loader.load() メソッドには適用できますが、Loader.loadBytes() メソッドには適用できません。

イメージ (JPEG、GIF、または PNG) を呼び出し元 SWF ファイル自体のドメイン外からロードし、そのイメージのコンテンツに ActionScript からアクセスする必要がある場合に、このフラグを true に設定します。イメージコンテンツへのアクセスの例には、ビットマップオブジェクトを取得するための Loader.content プロパティの参照や、ロードされたイメージのピクセルのコピーを取得するための BitmapData.draw() メソッドの呼び出しなどがあります。ロード時に、指定された checkPolicyFile を持たずにこれらの操作のいずれかを試行した場合、SecurityError 例外を受け取る場合があります。必要なポリシーファイルがまだロードされていないためです。

LoaderContext.checkPolicyFiletrue に設定して Loader.load() メソッドを呼び出す場合、関連するクロスドメインポリシーファイルを正常にダウンロードするか、そのようなポリシーファイルが存在しないことがわかるまで、Flash Player は URLRequest.url で指定されたオブジェクトのダウンロードを開始しません。Flash Player では、最初に既にダウンロードされているポリシーファイルが考慮され、次に Security.loadPolicyFile() メソッドの呼び出しで指定された保留されているポリシーファイルのダウンロードが試行されます。次に、URLRequest.url に対応するデフォルトの場所からのポリシーファイルのダウンロードが試行されます。これは、URLRequest.url と同じサーバーの /crossdomain.xml です。どのような場合でも、Flash Player では、指定されたポリシーファイルがそのサーバー上に存在しており、ポリシーファイルの場所に応じて URLRequest.url にあるオブジェクトへのアクセスが提供されており、<allow-access-from> タグに応じて呼び出し元 SWF ファイルのドメインによるアクセスが許可されている必要があります。

checkPolicyFiletrue に設定した場合、Flash Player ではポリシーファイルが完了するまで、Loader.load() メソッドで指定する主要なダウンロードの開始が待機されます。したがって、必要なポリシーファイルが存在している場合には、Loader オブジェクトの contentLoaderInfo プロパティから ProgressEvent.PROGRESS または Event.COMPLETE イベントを受け取るとすぐにポリシーファイルのダウンロードが完了し、ポリシーファイルが必要な操作を安全に開始できます。

checkPolicyFiletrue に設定し、関連するポリシーファイルが見つからない場合、SecurityError 例外をスローする操作を試行するまで、エラーは表示されません。ただし、LoaderInfo オブジェクトによって ProgressEvent.PROGRESS または Event.COMPLETE イベントが送出されると、LoaderInfo.childAllowsParent プロパティの値を確認することによって、関連するポリシーファイルが見つかったかどうかをテストできます。

ロードするイメージへのピクセルレベルのアクセスが必要ない場合は、checkPolicyFile プロパティを true に設定しないようにする必要があります。この場合、ポリシーファイルの確認は時間の浪費になります。ダウンロードの開始が遅れ、ネットワーク帯域幅を不必要に消費する場合があるためです。

また、Loader.load() メソッドを使用して SWF ファイルをダウンロードする場合、checkPolicyFiletrue に設定しないでください。これは、SWF から SWF への権限はポリシーファイルではなく Security.allowDomain() メソッドによって制御され、SWF ファイルをロードする場合は checkPolicyFile は無効であるためです。 この場合、ポリシーファイルの確認は時間の浪費になります。SWF ファイルのダウンロードが遅れ、ネットワーク帯域幅を不必要に消費する場合があるためです。ポリシーファイルのダウンロードは主要なダウンロードの前に発生するため、Flash Player では主要なダウンロードが SWF ファイルまたはイメージのいずれであるかはわかりません。

サーバーサイド HTTP リダイレクトを使用する可能性がある URL からオブジェクトをダウンロードする場合は、checkPolicyFile に注意してください。Flash Player は、常に URLRequest.url で指定する初期 URL に対応するポリシーファイルを取得しようとします。最終的なオブジェクトが HTTP リダイレクトによって別の URL から取得される場合、最初にダウンロードされたポリシーファイルはオブジェクトの最終的な URL に適用できないことがあります。この URL はセキュリティ判定において重要です。このような場合、ProgressEvent.PROGRESS または Event.COMPLETE イベントを受け取った後で、LoaderInfo.url の値を調べることができます。これにより、オブジェクトの最終的な URL がわかります。次に、オブジェクトの最終的な URL に基づくポリシーファイル URL で Security.loadPolicyFile() メソッドを呼び出します。次に、LoaderInfo.childAllowsParent の値を、それが true になるまでポーリングします。

関連項目

securityDomainプロパティ 
public var securityDomain:SecurityDomain = null

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

Loader.load() 操作に使用するセキュリティドメインを指定します。このプロパティは、イメージではなく SWF ファイルをロードする場合にのみ使用します。

セキュリティドメインの選択は、ロード元 SWF ファイルとは異なるドメイン (異なるサーバー) から取得される可能性がある SWF ファイルをロードする場合にのみ意味を持ちます。独自のドメインから SWF ファイルをロードする場合は、常に独自のセキュリティドメインに配置されます。ただし、SWF ファイルを別のドメインからロードする場合は、2 つのオプションがあります。ロードされる SWF ファイルを、ロード元 SWF ファイルとは異なる "通常の" セキュリティドメインに配置できます。これはデフォルトの設定です。もう 1 つのオプションでは、myLoaderContext.securityDomainSecurityDomain.currentDomain が等しくなるように設定して、ロードされる SWF ファイルをロード元 SWF ファイルと同じセキュリティドメインに配置するように指定します。これは読み込みロードと呼ばれます。これは、セキュリティのために、ロードされる SWF ファイルを独自のサーバーにコピーしてそこからロードする場合と同じです。読み込みロードが成功するには、ロードされる SWF ファイルのサーバーに、ロード元 SWF ファイルのドメインを信頼するポリシーファイルが必要です。

LoaderContext.securityDomain で、独自のセキュリティドメインのみを渡すことができます。その他のセキュリティドメインを渡そうとすると、SecurityError 例外になります。

詳細については、『ActionScript 3.0 のプログラミング』の「Flash Player セキュリティ」の章を参照してください。

関連項目

コンストラクタの詳細
LoaderContext()コンストラクタ
public function LoaderContext(checkPolicyFile:Boolean = false, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null)

言語バージョン : ActionScript 3.0
Player のバージョン : Flash Player 9

指定された設定で、新しい LoaderContext オブジェクトを作成します。これらの設定の詳細については、このクラスのプロパティの説明を参照してください。

パラメータ
checkPolicyFile:Boolean (default = false) — オブジェクトをロードする前に、Flash Player がクロスドメインポリシーファイルの存在を確認するかどうかを指定します。
 
applicationDomain:ApplicationDomain (default = null) — Loader オブジェクトで使用する ApplicationDomain オブジェクトを指定します。
 
securityDomain:SecurityDomain (default = null) — Loader オブジェクトで使用する SecurityDomain オブジェクトを指定します。

関連項目





 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/system/LoaderContext.html