패키지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 파일을 로드하는 경우 로드된 SWF 파일을 배치할 보안 도메인 및 해당 보안 도메인 내에서 파일을 배치할 응용 프로그램 도메인의 두 가지를 결정해야 합니다. 이러한 선택에 대한 자세한 내용은 applicationDomainsecurityDomain 속성을 참조하십시오.

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
로드 컨텍스트 지정


Public 속성
 속성다음에 의해 정의됨
  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
Public 메서드
 메서드다음에 의해 정의됨
  
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 속성 중 하나를 선택하여 사용할 수 있습니다.

로드가 완료될 때 로드하는 파일이나 로드되는 파일에서는 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() 메서드에는 적용되지 않습니다.

호출하는 SWF 파일의 자체 도메인 밖에 있는 JPEG, GIF 또는 PNG 이미지를 로드하는 경우 ActionScript에서 해당 이미지의 내용에 액세스하려면 이 플래그를 true로 설정합니다. 이미지 내용에 액세스하는 예로는 Loader.content 속성을 참조하여 Bitmap 객체 가져오기 및 BitmapData.draw() 메서드를 호출하여 로드된 이미지 픽셀의 복사본 가져오기 등이 있습니다. 로드할 때 checkPolicyFile을 지정하지 않고 이러한 작업 중 하나를 시도하면 필요한 정책 파일이 아직 다운로드되지 않았으므로 SecurityError 예외가 발생합니다.

LoaderContext.checkPolicyFiletrue로 설정하여 Loader.load() 메서드를 호출하면 관련된 크로스 도메인 정책 파일이 다운로드되거나 이러한 정책 파일이 없다는 사실이 발견될 때까지 Flash Player에서 URLRequest.url에 지정한 객체가 다운로드되지 않습니다. Flash Player에서는 우선 이미 다운로드된 정책 파일을 확인한 다음 Security.loadPolicyFile() 메서드 호출에서 지정된 대기 중인 정책 파일을 다운로드하고, 마지막으로 URLRequest.url에 해당하는 기본 위치(URLRequest.url과 같은 서버의 /crossdomain.xml)에서 정책 파일을 다운로드합니다. 모든 경우에 지정한 정책 파일이 서버에 있고, 정책 파일의 위치에 따라 URLRequest.url에 있는 객체에 액세스할 수 있으며, 호출하는 SWF 파일의 도메인에서 하나 이상의 <allow-access-from> 태그를 통해 액세스할 수 있도록 허용해야 합니다.

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 간 권한은 정책 파일이 아닌 Security.allowDomain() 메서드로 제어되므로 SWF 파일을 로드할 때는 checkPolicyFile이 효과가 없기 때문입니다. 이러한 경우 정책 파일을 확인하면 SWF 파일 다운로드가 지연되고 네트워크 대역폭이 불필요하게 소비될 수 있으므로 비효율적입니다. 정책 파일 다운로드는 주 다운로드에 앞서 실행되므로 Flash Player에서는 주 다운로드가 SWF 파일인지 이미지인지를 파악할 수 없습니다.

서버측 HTTP 리디렉션을 사용할 수 있는 URL에서 객체를 다운로드하는 경우 checkPolicyFile을 주의하여 사용해야 합니다. Flash Player에서는 항상 URLRequest.url에 지정된 최초 URL에 해당하는 정책 파일을 가져옵니다. HTTP 리디렉션으로 인해 최종 객체를 다른 URL에서 가져오는 경우, 처음에 다운로드된 정책 파일이 보안 결정에 중요한 URL인 객체의 최종 URL에 적용되지 않을 수도 있습니다. 이러한 경우에는 ProgressEvent.PROGRESS 또는 Event.COMPLETE 이벤트를 받은 후 객체의 최종 URL을 알려 주는 LoaderInfo.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 파일을 로드할 때는 두 가지 옵션이 있습니다. 로드되는 SWF 파일이 로드하는 SWF 파일의 보안 도메인과 다른 "고유의" 보안 도메인에 배치되도록 할 수 있으며, 이는 기본 옵션입니다. 다른 옵션은 myLoaderContext.securityDomainSecurityDomain.currentDomain으로 설정하여 로드되는 SWF 파일이 로드하는 SWF 파일과 같은 보안 도메인에 배치되도록 지정하는 것입니다. 이를 가져오기 로딩이라고 하며, 보안을 위해 로드되는 SWF 파일을 자신의 서버로 복사한 다음 로드하는 것과 같습니다. 가져오기 로딩에 성공하려면 로드되는 SWF 파일의 서버에 로드하는 SWF 파일의 도메인을 신뢰하는 정책 파일이 있어야 합니다.

LoaderContext.securityDomain에는 자신의 보안 도메인만 전달할 수 있습니다. 다른 보안 도메인을 전달하려고 하면 SecurityError 예외가 발생합니다.

자세한 내용은 ActionScript 3.0 프로그래밍의 "보안" 장을 참조하십시오.

참고 사항

생성자 정보
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_kr/ActionScriptLangRefV3/flash/system/LoaderContext.html