응용 프로그램 도메인 작업Flash Player 9 이상, Adobe AIR 1.0 이상 ApplicationDomain 클래스의 목적은 ActionScript 3.0 정의 표를 저장하는 것입니다. SWF 파일의 모든 코드는 응용 프로그램 도메인에 존재하도록 정의됩니다. 응용 프로그램 도메인을 사용하여 같은 보안 도메인에 있는 여러 클래스를 구분합니다. 그러면 같은 클래스에 대해 여러 가지 정의가 존재할 수 있으며 자식이 부모의 정의를 다시 사용할 수 있습니다. Loader 클래스 API를 사용하여 ActionScript 3.0에서 작성한 외부 SWF 파일을 로드하는 경우 응용 프로그램 도메인을 사용할 수 있습니다. ActionScript 1.0 또는 ActionScript 2.0에서 작성한 이미지나 SWF 파일을 로드할 때는 응용 프로그램 도메인을 사용할 수 없습니다. 로드된 클래스에 포함된 모든 ActionScript 3.0 정의는 응용 프로그램 도메인에 저장됩니다. SWF 파일을 로드할 때 LoaderContext 객체의 applicationDomain 매개 변수를 ApplicationDomain.currentDomain으로 설정하여 Loader 객체와 동일한 응용 프로그램 도메인에 파일이 포함되도록 지정할 수 있습니다. 로드된 SWF 파일을 동일한 응용 프로그램 도메인에 저장하면 해당 클래스에 직접 액세스할 수 있습니다. 이 방법은 관련된 클래스 이름을 통해 액세스 가능한 포함된 미디어가 들어 있는 SWF 파일을 로드하려는 경우나 로드된 SWF 파일의 메서드에 액세스하려는 경우에 유용할 수 있습니다. 다음 예제에서는 welcome()이라는 공용 메서드를 정의하는 별도의 Greeter.swf 파일에 대한 액세스 권한이 있다고 가정합니다. package { import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.net.URLRequest; import flash.system.ApplicationDomain; import flash.system.LoaderContext; public class ApplicationDomainExample extends Sprite { private var ldr:Loader; public function ApplicationDomainExample() { ldr = new Loader(); var req:URLRequest = new URLRequest("Greeter.swf"); var ldrContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); ldr.load(req, ldrContext); } private function completeHandler(event:Event):void { var myGreeter:Class = ApplicationDomain.currentDomain.getDefinition("Greeter") as Class; var myGreeter:Greeter = Greeter(event.target.content); var message:String = myGreeter.welcome("Tommy"); trace(message); // Hello, Tommy } } } 자세한 내용은 Adobe Flash 플랫폼용 Adobe ActionScript 3.0 참조 설명서의 ApplicationDomain 클래스 예제를 참조하십시오. 응용 프로그램 도메인을 사용하는 경우 주의해야 할 또 다른 사항은 다음과 같습니다.
다음 다이어그램은 단일 도메인인 domain1.com의 다양한 SWF 파일에서 내용을 로드하는 응용 프로그램을 보여 줍니다. 로드한 내용에 따라 서로 다른 응용 프로그램 도메인이 사용될 수 있습니다. 다음에 나오는 텍스트는 응용 프로그램의 각 SWF 파일에 적합한 응용 프로그램 도메인을 설정하는 데 사용되는 논리를 설명합니다. 전체 화면으로 그래픽 보기
기본 응용 프로그램 파일은 application1.swf입니다. 여기에는 다른 SWF 파일에서 내용을 로드하는 Loader 객체가 포함되어 있습니다. 이 시나리오에서 현재 도메인은 응용 프로그램 도메인 1입니다. 구문 A, 구문 B, 구문 C는 응용 프로그램에서 각 SWF 파일에 적합한 응용 프로그램 도메인을 설정하는 여러 가지 기술을 보여 줍니다.
|
|