| Package | flash.system |
| Class | public class LoaderContext |
| Inheritance | LoaderContext Object |
load() 및 loadBytes() Methods로 context Parameters로서 사용됩니다.
Loader.load() Methods로 SWF 파일을 로드하는 경우, 다음의 2 개를 결정합니다. 로드한 SWF 파일을 어느 시큐러티 도메인에 배치하는지, 및 그 시큐러티 도메인내의 어느 어플리케이션 도메인에 배치할까입니다. 이러한 선택의 상세한 것에 대하여는,applicationDomain 및 securityDomain property를 참조해 주세요.
Loader.loadBytes() Methods로 SWF 파일을 로드하는 경우,Loader.load() 의 경우와 같은 어플리케이션 도메인 선택이 있습니다만, 시큐러티 도메인을 지정할 필요는 없습니다. Loader.loadBytes() 에서는, 로드 된 SWF 파일이 항상 로드원 SWF 파일의 시큐러티 도메인에 배치되기 (위해)때문에입니다.
SWF 파일은 아니고 이미지 (JPEG, GIF, 또는 PNG)를 로드하는 경우, SecurityDomain 또는 어플리케이션 도메인을 지정할 필요는 없습니다. 이러한 개념은 SWF 파일 에 대해서만 의미를 가집니다. 대신에, 다음 일만을 결정합니다. 로드한 이미지의 픽셀에 프로그램에 의해 액세스 할 필요가 있을지 어떨지입니다. 필요가 있는 경우는,checkPolicyFile property를 참조해 주세요.
See also
| property | 정의 | ||
|---|---|---|---|
applicationDomain : ApplicationDomain = nullLoader.load() 또는 Loader.loadBytes() Methods로 사용하는 어플리케이션 도메인을 지정합니다. | LoaderContext | ||
| checkPolicyFile : Boolean = false
object 자체의 로드를 개시하기 전에, Flash Player 가, 로드 되는 object의 서버로부터 크로스 도메인 policy 파일을 다운로드하려고 할지 어떨지를 지정합니다.
| LoaderContext | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
securityDomain : SecurityDomain = nullLoader.load() 조작에 사용하는 시큐러티 도메인을 지정합니다. | LoaderContext | ||
| Methods | 정의 | ||
|---|---|---|---|
| LoaderContext (checkPolicyFile:Boolean = false, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null)
지정된 설정으로, 새로운 LoaderContext object를 작성합니다.
| LoaderContext | ||
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
| applicationDomain | property |
public var applicationDomain:ApplicationDomain = null
Loader.load() 또는 Loader.loadBytes() Methods로 사용하는 어플리케이션 도메인을 지정합니다. ActionScript 1.0 이나 ActionScript 2.0 으로 기술된 이미지 또는 SWF 파일은 아니고, ActionScript 3.0 으로 기술된 SWF 파일을 로드하는 경우에게만, 이 property를 사용합니다.
모든 시큐러티 도메인은, 복수의 어플리케이션 도메인에 분할할 수도 있습니다. 어플리케이션 도메인은 ApplicationDomain object로 나타내집니다. 어플리케이션 도메인의 목적은 시큐러티가 아닙니다. ActionScript 코드의 협조 단위의 관리가 목적입니다. 다른 도메인으로부터 SWF 파일을 로드해, 다른 시큐러티 도메인에의 배치를 허가하는 경우, 로드 된 SWF 파일이 배치되는 어플리케이션 도메인의 선택은 제어할 수 없습니다. 어플리케이션 도메인의 선택을 지정했을 경우는, 무시됩니다. 다만, SWF 파일이 독자적인 도메인으로부터 취득되기 (위해)때문에, 또는 SWF 파일을 시큐러티 도메인에 읽어들이기 (위해)때문에, 독자적인 시큐러티 도메인에 SWF 파일을 로드하는 경우는, 로드 되는 SWF 파일에 대한 어플리케이션 도메인의 선택을 제어할 수 있습니다.
독자적인 시큐러티 도메인으로부터로만 LoaderContext.applicationDomain 로 어플리케이션 도메인을 건네줄 수가 있습니다. 그 외의 시큐러티 도메인으로부터 어플리케이션 도메인을 건네주려고 하면,SecurityError 예외가 됩니다.
사용하는 ApplicationDomain property는, 다음의 4 종류로부터 선택할 수 있습니다.
new ApplicationDomain(ApplicationDomain.currentDomain) 로 명시적으로 나타낼 수가 있습니다. 이 선택에서는, 로드 된 SWF 파일은 부모의 클래스를 직접 사용할 수 있습니다. 예를 들어,new MyClassDefinedInParent() 를 기술합니다. 다만, 부모는 이 문장구조법을 사용할 수 없습니다. 부모가 아이의 클래스를 사용하는 경우,ApplicationDomain.getDefinition() 를 호출해 취득할 필요가 있습니다. 이 선택의 이점은, 부모에 의해 이미 정의되고 있는 클래스와 같은 이름의 클래스를 아이가 정의하는 경우에 에러가 발생하지 않는 것입니다. 아이는, 그 클래스의 부모의 정의를 Inheritance합니다. 경합 하는 아이의 정의는, child 또는 부모가 ApplicationDomain.getDefinition() Methods를 호출해 그것을 취득하지 않는 한 사용되지 않습니다. ApplicationDomain.currentDomain 를 사용하는 경우에 사용합니다. 로드가 완료하면, 부모 및 아이는 모두 서로의 클래스의 양쪽 모두를 직접 사용할 수 있습니다. 부모에 의해 이미 정의되고 있는 클래스와 같은 이름의 클래스를 아이가 정의하려고 하면, 에러가 발생해 로드는 중지됩니다. new ApplicationDomain(null) 를 사용하는 경우에 사용합니다. 로더와 로 데는 완전하게 분리되어 경합이나 영향을 발생시키지 않고 같은 이름으로 다른 버젼의 클래스를 정의할 수 있습니다. 한편이 한편의 클래스를 참조하는 유일한 방법은,ApplicationDomain.getDefinition() Methods의 호출입니다. new ApplicationDomain(ApplicationDomain.currentDomain.parentDomain.parentDomain) 에서는, SWF 파일은 현재의 도메인의 부모의 부모의 새로운 아이에게 로드 됩니다. 로드의 완료 후,ApplicationDomain.getDefinition() 를 호출하기 위해서(때문에), 로드하는 측 또는 로드 되는 측중 한쪽이 독자적인 ApplicationDomain 또는 한편의 ApplicationDomain 를 찾아낼 필요가 있는 경우가 있습니다. 어느 옆도,ApplicationDomain.currentDomain 에 의해 독자적인 어플리케이션 도메인의 참조를 취득할 수 있습니다. 로드원 SWF 파일은,Loader.contentLoaderInfo.applicationDomain 에 의해, 로드 된 SWF 파일의 ApplicationDomain 의 참조를 취득할 수 있습니다. 로드 된 SWF 파일로, 자신이 어떻게 로드 되었는지를 아는 경우는, 로드원 SWF 파일의 ApplicationDomain object를 찾아낼 수가 있습니다. 예를 들어, 아이가 디폴트의 방법으로 로드 되었을 경우,ApplicationDomain.currentDomain.parentDomain 에 의해, 아이는 로드원 SWF 파일의 어플리케이션 도메인을 찾아낼 수가 있습니다.
상세한 것에 대하여는, 「ActionScript 3.0 의 프로그래밍」의 「클라이언트의 시스템 환경」의 장의 「ApplicationDomain 클래스」를 참조해 주세요.
See also
| checkPolicyFile | property |
public var checkPolicyFile:Boolean = false
object 자체의 로드를 개시하기 전에, Flash Player 가, 로드 되는 object의 서버로부터 크로스 도메인 policy 파일을 다운로드하려고 할지 어떨지를 지정합니다. 이 플래그는,Loader.load() Methods에는 적용할 수 있습니다만,Loader.loadBytes() Methods에는 적용할 수 없습니다.
이미지 (JPEG, GIF, 또는 PNG)를 호출원 SWF 파일 자체의 도메인외로부터 로드해, 그 이미지의 컨텐츠에 ActionScript 로부터 액세스 할 필요가 있는 경우에, 이 플래그를 true 로 설정합니다. 이미지 컨텐츠에의 액세스의 예에는, 비트 맵 object를 취득하기 위한 Loader.content property의 참조나, 로드 된 이미지의 픽셀의 복사를 취득하기 위한 BitmapData.draw() Methods의 호출등이 있습니다. 로드시에, 지정된 checkPolicyFile 를 가지지 않고 이러한 조작의 어느쪽이든을 시행했을 경우,SecurityError 예외를 받는 경우가 있습니다. 필요한 policy 파일이 아직 로드되어 있지 않기 때문입니다.
LoaderContext.checkPolicyFile 를 true 로 설정해 Loader.load() Methods를 호출하는 경우, 관련하는 크로스 도메인 policy 파일을 정상적으로 다운로드하는지, 그러한 policy 파일이 존재하지 않는 것을 알 때까지, Flash Player 는 URLRequest.url 로 지정된 object의 다운로드를 개시하지 않습니다. Flash Player 에서는, 최초로 이미 다운로드되고 있는 policy 파일이 고려되어 다음에 Security.loadPolicyFile() Methods의 호출로 지정된 보류되고 있는 policy 파일의 다운로드가 시행됩니다. 다음에,URLRequest.url 에 대응하는 디폴트의 장소로부터의 policy 파일의 다운로드가 시행됩니다. 이것은,URLRequest.url 와 같은 서버의 /crossdomain.xml 입니다. 어떠한 경우에서도, Flash Player 에서는, 지정된 policy 파일이 그 서버상에 존재하고 있어, policy 파일의 장소에 응해 URLRequest.url 에 있는 object에의 액세스가 제공되고 있어<allow-access-from> 태그에 응해 호출원 SWF 파일의 도메인에 의한 액세스가 허가되고 있을 필요가 있습니다.
checkPolicyFile 를 true 로 설정했을 경우, Flash Player 에서는 policy 파일이 완료할 때까지,Loader.load() Methods로 지정하는 주요한 다운로드의 개시가 대기됩니다. 따라서, 필요한 policy 파일이 존재하고 있는 경우에는, Loader object의 contentLoaderInfo property로부터 ProgressEvent.PROGRESS 또는 Event.COMPLETE 이벤트를 받자마자 policy 파일의 다운로드가 완료해, policy 파일이 필요한 조작을 안전하게 개시할 수 있습니다.
checkPolicyFile 를 true 로 설정해, 관련하는 policy 파일이 발견되지 않는 경우,SecurityError 예외를 슬로우 하는 조작을 시행할 때까지, 에러는 표시되지 않습니다. 다만, LoaderInfo object에 의해 ProgressEvent.PROGRESS 또는 Event.COMPLETE 이벤트가 dispatch되면,LoaderInfo.childAllowsParent property의 값을 확인하는 것에 의해, 관련하는 policy 파일이 발견되었는지 어떠했는지를 테스트할 수 있습니다.
로드하는 이미지에의 픽셀 레벨의 액세스가 필요없는 경우는,checkPolicyFile property를 true 로 설정하지 않게 할 필요가 있습니다. 이 경우, policy 파일의 확인은 시간의 낭비가 됩니다. 다운로드의 개시가 늦어 네트워크 대역폭을 불필요하게 소비하는 경우가 있기 (위해)때문에입니다.
또,Loader.load() Methods를 사용해 SWF 파일을 다운로드하는 경우,checkPolicyFile 를 true 로 설정하지 말아 주세요. 이것은, SWF 로부터 SWF 에의 권한은 policy 파일은 아니고 Security.allowDomain() Methods에 의해 제어되어 SWF 파일을 로드하는 경우는 checkPolicyFile 는 무효이기 (위해)때문에입니다. 이 경우, policy 파일의 확인은 시간의 낭비가 됩니다. SWF 파일의 다운로드가 늦어 네트워크 대역폭을 불필요하게 소비하는 경우가 있기 (위해)때문에입니다. policy 파일의 다운로드는 주요한 다운로드전에 발생하기 위해(때문에), Flash Player 에서는 주요한 다운로드가 SWF 파일 또는 이미지의 머지않아일까는 모릅니다.
서버 사이드 HTTP 리디렉트를 사용할 가능성이 있는 URL 로부터 object를 다운로드하는 경우는,checkPolicyFile 에 주의해 주세요. Flash Player 는, 항상 URLRequest.url 로 지정하는 초기 URL 에 대응하는 policy 파일을 취득하려고 합니다. 최종적인 object가 HTTP 리디렉트에 의해 다른 URL 로부터 취득되는 경우, 최초로 다운로드된 policy 파일은 object의 최종적인 URL 에 적용할 수 없는 것이 있습니다. 이 URL 는 시큐러티 판정에 대해 중요합니다. 이러한 경우,ProgressEvent.PROGRESS 또는 Event.COMPLETE 이벤트를 받은 다음에,LoaderInfo.url 의 값을 조사할 수가 있습니다. 이것에 의해, object의 최종적인 URL 를 알 수 있습니다. 다음에, object의 최종적인 URL 에 근거하는 policy 파일 URL 로 Security.loadPolicyFile() Methods를 호출합니다. 다음에,LoaderInfo.childAllowsParent 의 값을, 그것이 true 가 될 때까지 폴링 합니다.
See also
| securityDomain | property |
public var securityDomain:SecurityDomain = null
Loader.load() 조작에 사용하는 시큐러티 도메인을 지정합니다. 이 property는, 이미지는 아니고 SWF 파일을 로드하는 경우에게만 사용합니다.
시큐러티 도메인의 선택은, 로드원 SWF 파일과는 다른 도메인 (다른 서버)으로부터 취득될 가능성이 있는 SWF 파일을 로드하는 경우에게만 의미를 가집니다. 독자적인 도메인으로부터 SWF 파일을 로드하는 경우는, 항상 독자적인 시큐러티 도메인에 배치됩니다. 다만, SWF 파일을 다른 도메인으로부터 로드하는 경우는, 2 개의 옵션이 있습니다. 로드 되는 SWF 파일을, 로드원 SWF 파일과는 다른 "통상의" 시큐러티 도메인에 배치할 수 있습니다. 이것은 디폴트의 설정입니다. 이제(벌써) 1 개의 옵션에서는,myLoaderContext.securityDomain 와 SecurityDomain.currentDomain 가 동일해지도록(듯이) 설정해, 로드 되는 SWF 파일을 로드원 SWF 파일과 같은 시큐러티 도메인에 배치하도록(듯이) 지정합니다. 이것은읽어들여 로드로 불립니다. 이것은, 시큐러티를 위해서(때문에), 로드 되는 SWF 파일을 독자적인 서버에 복사해 거기로부터 로드하는 경우와 같습니다. read 로드가 성공하려면 , 로드 되는 SWF 파일의 서버에, 로드원 SWF 파일의 도메인을 신뢰하는 policy 파일이 필요합니다.
LoaderContext.securityDomain 로, 독자적인 시큐러티 도메인만을 건네줄 수가 있습니다. 그 외의 시큐러티 도메인을 건네주려고 하면,SecurityError 예외가 됩니다.
상세한 것에 대하여는, 「ActionScript 3.0 의 프로그래밍」의 「Flash Player 시큐러티」의 장을 참조해 주세요.
See also
| LoaderContext | () | constructor |
public 함수 LoaderContext(checkPolicyFile:Boolean = false, applicationDomain:ApplicationDomain = null, securityDomain:SecurityDomain = null)지정된 설정으로, 새로운 LoaderContext object를 작성합니다. 이러한 설정의 상세한 것에 대하여는, 이 클래스의 property의 설명을 참조해 주세요.
ParameterscheckPolicyFile:Boolean (default = false) — object를 로드하기 전에, Flash Player 가 크로스 도메인 policy 파일의 존재를 확인할지 어떨지를 지정합니다.
|
|
applicationDomain:ApplicationDomain (default = null) — Loader object로 사용하는 ApplicationDomain object를 지정합니다.
|
|
securityDomain:SecurityDomain (default = null) — Loader object로 사용하는 SecurityDomain object를 지정합니다.
|
See also
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/system/LoaderContext.html