외부 API 사용

Flash Player 9 이상, Adobe AIR 1.0 이상

ActionScript 3.0 외부 API( flash.external.ExternalInterface )를 사용하면 Adobe Flash Player가 실행되고 있는 컨테이너 응용 프로그램과 ActionScript 간에 간단하게 통신할 수 있습니다. SWF 문서와 HTML 페이지의 JavaScript 간에 상호 작용을 생성하려면 ExternalInterface API를 사용합니다.

외부 API를 사용하여 컨테이너 응용 프로그램과 상호 작용하고 HTML 페이지의 JavaScript와 ActionScript 간에 데이터를 전달할 수 있습니다.

몇 가지 일반적인 외부 API 작업은 다음과 같습니다.
  • 컨테이너 응용 프로그램에 대한 정보 얻기

  • 브라우저 또는 AIR 데스크톱 응용 프로그램에 표시된 웹 페이지에서 ActionScript를 사용하여 코드 호출

  • 웹 페이지에서 ActionScript 코드 호출

  • 프록시를 통해 웹 페이지에서의 ActionScript 코드 호출 간소화

참고: 외부 인터페이스에 대한 이 논의에서는 SWF 파일의 ActionScript와 Flash Player 또는 해당 SWF가 로드된 인스턴스를 참조하는 컨테이너 응용 프로그램 간의 통신에 대해서만 다룹니다. 응용 프로그램 내에서 Flash Player를 사용하는 방법은 여기서 설명하지 않습니다. Flash Player는 브라우저 플러그인 또는 프로젝터(독립 실행형 응용 프로그램)용으로 만들어졌습니다. 그 밖의 사용은 지원이 제한될 수 있습니다.

AIR에서 외부 API 사용

AIR 응용 프로그램에는 외부 컨테이너가 없으므로 이 외부 인터페이스가 일반적으로 적용되지 않으며 일반적으로 필요하지도 않습니다. AIR 응용 프로그램에서 SWF 파일을 직접 로드하는 경우 응용 프로그램 코드가 SWF의 ActionScript 코드와 직접 통신할 수 있습니다(보안 샌드박스 제한 사항이 적용됨).

그러나 AIR 응용 프로그램에서 HTMLLoader 객체(또는 Flex의 HTML 구성 요소)를 사용하여 HTML 페이지에서 SWF 파일을 로드하는 경우 HTMLLoader 객체가 외부 컨테이너 역할을 합니다. 따라서 외부 인터페이스를 사용하여 로드된 SWF의 ActionScript 코드와 HTMLLoader에 로드된 HTML 페이지의 JavaScript 코드 간에 통신할 수 있습니다.