Adobe® Flash® Platform용 ActionScript® 3.0 참조 설명서
 |  패키지 및 클래스 목록 숨기기 |  패키지  |  클래스  |  새로운 내용  |  색인  |  부록  |  영어로 표시되는 이유
필터: AIR 30.0 이하, Flash Player 30.0 이하, Flash Lite 4
Flex 4.6 이하, Flash Pro CS6 이하
필터 숨기기
flash.external 

ExternalInterface  - AS3

패키지x

최상위 레벨
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

언어 요소

전역 상수
전역 함수
연산자
명령문, 키워드 및 지시문
특수 유형 연산자

부록

새로운 내용
컴파일러 오류
컴파일러 경고
런타임 오류
ActionScript 3으로 마이그레이션
지원되는 문자 세트
MXML 전용 태그
모션 XML 요소
Timed Text 태그
사용되지 않는 요소의 목록
액세스 가능성 구현 상수
ActionScript 예제 사용 방법
법적 고지 사항
패키지flash.external
클래스public final class ExternalInterface
상속ExternalInterface Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

ExternalInterface 클래스는 ActionScript와 SWF 컨테이너 간의 통신을 간편하게 해 주는 응용 프로그램 프로그래밍 인터페이스입니다(예: JavaScript가 포함된 HTML 페이지 또는 Flash Player를 사용하여 SWF 파일을 표시하는 데스크톱 응용 프로그램).

ExternalInterface 클래스를 사용하면 HTML 페이지에서 JavaScript를 사용하여 Flash 런타임에서 ActionScript 함수를 호출할 수 있습니다. ActionScript 함수는 값을 반환할 수 있고 JavaScript는 이 호출의 반환값을 즉시 수신합니다.

이 기능은 fscommand() 메서드를 대체합니다.

다음과 같은 브라우저와 운영 체제에서 ExternalInterface 클래스를 사용합니다.

브라우저운영 체제운영 체제
Internet Explorer 5.0 이상Windows 
Netscape 8.0 이상Windows MacOS 
Mozilla 1.7.5 이상Windows MacOS 
Firefox 1.0 이상Windows MacOS 
Safari 1.3 이상  MacOS 

Linux용 Flash Player 버전 9.0.31.0 이상은 다음 브라우저에서 ExternalInterface 클래스를 지원합니다.

브라우저
Mozilla 1.7.x 이상
Firefox 1.5.0.7 이상
SeaMonkey 1.0.5 이상

ExternalInterface 클래스를 사용하려면 사용자 웹 브라우저가 ActiveX ® 또는 일부 플러그인 스크립팅용 브라우저에서 노출되는 NPRuntime API를 지원해야 합니다. 브라우저와 운영 체제 시스템 조합이 위의 목록에 표시되지 않더라도 이들이 NPRuntime API를 지원한다면 ExternalInterface 클래스를 지원해야 합니다. 자세한 내용은 http://www.mozilla.org/projects/plugins/npruntime.html을 참조하십시오.

참고: SWF 파일을 HTML 페이지에 포함할 때는 id 특성을 설정해야 하며 idname 특성(objectembed 태그)에 다음 문자가 포함되지 않아야 합니다.

 . - + * / \
 

Flash Player 응용 프로그램 참고 사항: Flash Player 버전 9.0.115.0 이상에서는 .(마침표) 문자를 idname 특성 내에 사용할 수 있습니다.

Flash Player 응용 프로그램 참고 사항: 브라우저에서 실행되는 Flash Player 10 이상에서는 이 클래스를 프로그래밍 방식으로 사용하여 팝업 윈도우를 열지 못할 수 있습니다. 브라우저 및 브라우저 구성에 따라 팝업 윈도우가 차단될 수 있으므로 팝업 윈도우가 나타나는 것을 보장할 수 없습니다. 그러나 팝업 윈도우를 확실하게 표시하기 위해 사용자 동작(예: 마우스 클릭이나 키 누르기 이벤트의 이벤트 핸들러)의 결과로 실행하는 코드에서 이 클래스를 사용하면 팝업 윈도우를 열 수 있습니다.

ActionScript를 사용하면 HTML 페이지에서 다음을 수행할 수 있습니다.

  • 임의의 JavaScript 함수 호출
  • 이름 및 개수에 관계없이 모든 인수 전달
  • 다양한 데이터 유형(Boolean, Number, String 등) 전달
  • JavaScript 함수에서 반환 값 수신

JavaScript를 사용하면 HTML 페이지에서 다음을 수행할 수 있습니다.

  • ActionScript 함수 호출
  • 표준 함수 호출 표기법으로 인수 전달
  • JavaScript 함수에 값 반환

Flash Player 응용 프로그램 참고 사항: Flash Player는 현재 HTML 양식 내에 포함된 SWF 파일을 지원하지 않습니다.

AIR 응용 프로그램 참고 사항: Adobe AIR에서는 HTMLLoader 컨트롤에서 로드한 HTML 페이지의 JavaScript와 해당 HTML 페이지에 포함된 SWF 내용의 ActionScript 간의 통신에 ExternalInterface 클래스를 사용할 수 있습니다.

예제 보기

기타 예제

관련 API 요소



공용 속성
 속성정의 주체
  available : Boolean
[정적] [읽기 전용] 이 플레이어가 외부 인터페이스를 제공하는 컨테이너에 있는지 여부를 나타냅니다.
ExternalInterface
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  marshallExceptions : Boolean = false
[정적] 외부 인터페이스가 현재 브라우저로 ActionScript 예외를 전달하고 플레이어로 JavaScript 예외를 전달하려고 시도해야 하는지 여부를 나타냅니다.
ExternalInterface
  objectID : String
[정적] [읽기 전용] Internet Explorer에서는 object 태그의 id 특성을 반환하고, Netscape에서는 embed 태그의 name 특성을 반환합니다.
ExternalInterface
공용 메서드
 메서드정의 주체
  
addCallback(functionName:String, closure:Function):void
[정적] 컨테이너로부터 호출 가능하도록 ActionScript 메서드를 등록합니다.
ExternalInterface
  
call(functionName:String, ... arguments):*
[정적] 0개 이상의 인수를 전달하는 SWF 컨테이너에 의해 노출된 함수를 호출합니다.
ExternalInterface
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
속성 세부 정보

available

속성
available:Boolean  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

이 플레이어가 외부 인터페이스를 제공하는 컨테이너에 있는지 여부를 나타냅니다. 외부 인터페이스를 사용할 수 있으면 이 속성은 true이고, 그렇지 않으면 false입니다.

참고: External API를 HTML과 함께 사용하는 경우 JavaScript 메서드를 호출하기 전에 항상 HTML이 로드를 마쳤는지 확인하십시오.



구현
    public static function get available():Boolean

예제  ( 예제 사용 방법 )
다음 예제에서는 available 속성을 사용하여 플레이어가 외부 인터페이스를 제공하는 컨테이너에 있는지 여부를 확인합니다.
     package {
       import flash.text.TextField;
       import flash.display.MovieClip;
       import flash.external.ExternalInterface;
     
       public class extint_test extends MovieClip {
         public function extint_test() {
           var isAvailable:Boolean = ExternalInterface.available;
           var availTxt:TextField = new TextField();
           availTxt.text = isAvailable.toString();
           addChild(availTxt);
         }
       }
     }
     

marshallExceptions

속성 
public static var marshallExceptions:Boolean = false

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

외부 인터페이스가 현재 브라우저로 ActionScript 예외를 전달하고 플레이어로 JavaScript 예외를 전달하려고 시도해야 하는지 여부를 나타냅니다. ActionScript에서 JavaScript 예외를 포착하고 JavaScript에서 ActionScript 예외를 포착하려면 이 속성을 명시적으로 true로 설정해야 합니다.

관련 API 요소


예제  ( 예제 사용 방법 )
다음 예제는 ActionScript 함수를 생성하고 addCallback() 메서드를 사용하여 이것을 포함하는 브라우저에 등록합니다. 새 함수는 브라우저에서 실행되는 JavaScript 코드가 예외를 포착할 수 있도록 예외를 발생시킵니다. 또한 이 예제는 try..catch 문을 포함하여 throwit() 함수가 호출될 때 브라우저에서 발생하는 예외를 포착합니다.
package
{
    import flash.external.*
    import flash.net.*;
    import flash.display.*;
    import flash.system.System;
    public class ext_test extends Sprite {
    function ext_test():void {
        ExternalInterface.marshallExceptions = true;
        ExternalInterface.addCallback("g", g);

        try {
        ExternalInterface.call("throwit");
        } catch(e:Error) {
        trace(e)
        }
    }
    function g() { throw new Error("exception from actionscript!!!!") }
    }
}

objectID

속성 
objectID:String  [읽기 전용]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

Internet Explorer에서는 object 태그의 id 특성을 반환하고, Netscape에서는 embed 태그의 name 특성을 반환합니다.



구현
    public static function get objectID():String
메서드 세부 정보

addCallback

()메서드
public static function addCallback(functionName:String, closure:Function):void

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

컨테이너로부터 호출 가능하도록 ActionScript 메서드를 등록합니다. addCallBack()이 성공적으로 호출된 후에는 플레이어에 등록된 함수를 컨테이너의 JavaScript 또는 ActiveX 코드를 사용하여 호출할 수 있습니다.

참고: 브라우저에서 실행되는 로컬 내용의 경우 ExternalInterface.addCallback() 메서드 호출은 SWF 파일 및 SWF가 포함된 웹 페이지가 local-trusted 보안 샌드박스에 있는 경우에만 실행됩니다. 자세한 내용은 Flash Player 개발자 센터 항목(보안)을 참조하십시오.

매개 변수

functionName:String — 컨테이너가 해당 함수를 호출하는 이름입니다.
 
closure:Function — 호출할 함수 클로저입니다. 독립형 함수가 될 수도 있고 객체 인스턴스의 메서드를 참조하는 메서드 클로저가 될 수도 있습니다. 메서드 클로저를 전달하여 특정 객체 인스턴스의 메서드에서 콜백을 통제할 수 있습니다.

참고: null 클로저 값이 있는 기존 콜백 함수에서 addCallback()을 반복하면 콜백이 제거됩니다.


오류
Error — 컨테이너는 수신 호출을 지원하지 않습니다. 수신 호출은 Windows용 Internet Explorer, 그리고 Mozilla 1.7.5 이상이나 Firefox 1.0 이상 등 NPRuntime API를 사용하는 브라우저에서만 지원됩니다.
 
SecurityError — 지정한 이름의 콜백이 사용자가 액세스할 수 없는 샌드박스의 ActionScript에 의해 이미 추가되었고 이 콜백을 덮어쓸 수 없습니다. 이 문제를 해결하려면 원래 addCallback() 메서드를 호출하는 ActionScript가 Security.allowDomain() 메서드도 함께 호출하도록 다시 작성하십시오.
 
SecurityError — 포함 환경이 호출 코드가 액세스할 수 없는 보안 샌드박스에 속합니다. 이 문제를 해결하려면 다음 단계를 따르십시오.
  1. HTML 페이지에 포함된 SWF 파일의 object 태그에 다음 매개 변수를 설정합니다.

    <param name="allowScriptAccess" value="always" />

  2. SWF 파일에 다음 ActionScript를 추가합니다.

    flash.system.Security.allowDomain( sourceDomain )

관련 API 요소

call

()메서드 
public static function call(functionName:String, ... arguments):*

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0, Flash Player 9, Flash Lite 4

0개 이상의 인수를 전달하는 SWF 컨테이너에 의해 노출된 함수를 호출합니다. 함수를 사용할 수 없으면 호출은 null을 반환하고, 그렇지 않으면 함수가 제공하는 값을 반환합니다. 재귀는 Opera 또는 Netscape 브라우저에서 허용되지 않습니다. 이러한 브라우저에서 재귀 호출은 null 응답을 생성합니다. 재귀는 Internet Explorer와 Firefox 브라우저에서 지원됩니다.

컨테이너가 HTML 페이지이면 이 메서드는 script 요소에서 JavaScript 함수를 호출합니다.

컨테이너가 다른 ActiveX 컨테이너일 경우 이 메서드는 지정된 이름으로 FlashCall ActiveX 이벤트를 전달하고 컨테이너는 이벤트를 처리합니다.

컨테이너에서 Netscape 플러그인을 호스팅하는 경우 새 NPRuntime 인터페이스에 대한 사용자 정의 지원을 작성하거나, HTML 컨트롤을 포함하고 HTML 컨트롤 내에 플레이어를 포함할 수 있습니다. HTML 컨트롤을 포함하면 기본 컨테이너 응용 프로그램에 대한 JavaScript 인터페이스를 통해 플레이어와 통신할 수 있습니다.

참고: 브라우저에서 실행되는 로컬 내용의 경우, ExternalInterface.call() 메서드 호출은 SWF 파일 및 SWF가 포함된 웹 페이지(있는 경우)가 local-trusted 보안 샌드박스에 있는 경우에만 허용됩니다. 또한 SWF 내용이 들어 있는 HTML 페이지에서 allowNetworking 매개 변수(objectembed 태그)를 설정하여 SWF 파일에서 이 메서드를 사용하지 못하게 할 수 있습니다. 자세한 내용은 Flash Player 개발자 센터 항목(보안)을 참조하십시오.

Flash Player 응용 프로그램 참고 사항: Flash Player 10 및 Flash Player 9 업데이트 5의 경우 팝업 차단이 활성화되어 있으면 일부 웹 브라우저에서 이 메서드가 제한됩니다. 이 시나리오에서는 마우스 클릭이나 키 누르기 이벤트에 대한 이벤트 핸들러 등 사용자 이벤트에 대한 응답으로만 이 메서드를 호출할 수 있습니다.

매개 변수

functionName:String — 컨테이너에서 호출될 함수의 영숫자 이름입니다. 영숫자가 아닌 함수 이름을 사용하면 런타임 오류가 발생합니다(오류 2155). try..catch 블록을 사용하여 오류를 처리할 수 있습니다.
 
... arguments — 컨테이너의 함수에 전달할 인수입니다. 0개 이상의 매개 변수를 쉼표로 구분하여 지정할 수 있습니다. 임의의 ActionScript 데이터 유형이 될 수 있습니다. 호출 대상이 JavaScript 함수인 경우 ActionScript 유형은 자동으로 JavaScript 유형으로 변환되며 다른 ActiveX 컨테이너가 호출된 경우 매개 변수는 요청 메시지에 인코딩됩니다.

반환값
* — 컨테이너로부터 수신한 응답입니다. 호출이 실패하면, 예를 들어 컨테이너에 이러한 함수가 없거나 인터페이스를 사용할 수 없으며 재귀가 발생하거나(Netscape 또는 Opera 브라우저에서) 보안 문제가 있으면 null이 반환되고 오류가 발생합니다.

오류
Error — 컨테이너는 송신 호출을 지원하지 않습니다. 송신 호출은 Windows용 Internet Explorer, 그리고 Mozilla 1.7.5 이상이나 Firefox 1.0 이상 등 NPRuntime API를 사용하는 브라우저에서만 지원됩니다.
 
SecurityError — 포함 환경이 호출 코드가 액세스할 수 없는 보안 샌드박스에 속합니다. 이 문제를 해결하려면 다음 단계를 따르십시오.
  1. HTML 페이지에 포함된 SWF 파일의 object 태그에 다음 매개 변수를 설정합니다.

    <param name="allowScriptAccess" value="always" />

  2. SWF 파일에 다음 ActionScript를 추가합니다.

    flash.system.Security.allowDomain( sourceDomain )


예제  ( 예제 사용 방법 )

다음 예제에서는 ExternalInterface 클래스(flash.external.ExternalInterface)를 사용하여 Flash Player의 문자열을 JavaScript alert() 함수를 사용하여 문자열이 표시되는 HTML 컨테이너로 보낼 수 있는 방법을 보여 줍니다. ActionScriptExamples.com에서 제공하는 예제입니다.
//
// Requires:
//   - A Flash Professional Label component on the Stage with an instance name of "lbl".
//   - A Flash Professional Button component on the Stage with an instance name of "button".
//
var xmlResponse:String = "<invoke name=\"isReady\" returntype=\"xml\"><arguments><number>1</number><number>" + stage.stageWidth + "</number><number>" + stage.stageHeight + "</number></arguments></invoke>";
 
lbl.text = "ExternalInterface.available: " + ExternalInterface.available;
lbl.width = 200;
button.enabled = ExternalInterface.available;
button.addEventListener(MouseEvent.CLICK, button_click);
 
function button_click(evt:MouseEvent):void {
    ExternalInterface.call("alert", xmlResponse);
}
ExternalInterfaceExample.as

다음 예제에서는 Flash Player와 HTML 컨테이너 간의 데이터 전송을 보여 줍니다.
package  {
    
    import flash.display.Sprite;
    import flash.events.*;
    import flash.external.ExternalInterface;
    import flash.text.TextField;
    import flash.utils.Timer;
    import flash.text.TextFieldType;
    import flash.text.TextFieldAutoSize;
    import flash.system.Security;
    
    public class ExternalInterfaceExample extends Sprite 
    {
        
    private var input:TextField;
        private var output:TextField;
        private var sendBtn:Sprite;
        
        public function ExternalInterfaceExample() 
        {
            // constructor code
            Security.allowDomain("*");
            
            
            input = new TextField();
            input.type = TextFieldType.INPUT;
            input.background = true;
            input.border = true;
            input.width = 350;
            input.height = 18;
            addChild(input);

            sendBtn = new Sprite();
            sendBtn.mouseEnabled = true;
            sendBtn.x = input.width + 10;
            sendBtn.graphics.beginFill(0xcccccc);
            sendBtn.graphics.drawRoundRect(0, 0, 80, 18, 10, 10);
            sendBtn.graphics.endFill();
            sendBtn.addEventListener(MouseEvent.CLICK, clickHandler);
            addChild(sendBtn);

            output = new TextField();
            output.y = 25;
            output.width = 450;
            output.height = 325;
            output.multiline = true;
            output.wordWrap = true;
            output.border = true;
            output.text = "Initializing...\n";
            addChild(output);
            
            
            if (ExternalInterface.available) {
                try {
                    output.appendText("Adding callback...\n");
                    ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
                    if (checkJavaScriptReady()) {
                        output.appendText("JavaScript is ready.\n");
                    } else {
                        output.appendText("JavaScript is not ready, creating timer.\n");
                        var readyTimer:Timer = new Timer(100, 0);
                        readyTimer.addEventListener(TimerEvent.TIMER, timerHandler);
                        readyTimer.start();
                    }
                } catch (error:SecurityError) {
                    output.appendText("A SecurityError occurred: " + error.message + "\n");
                } catch (error:Error) {
                    output.appendText("An Error occurred: " + error.message + "\n");
                }
            } else {
                output.appendText("External interface is not available for this container.");
            }
        }
        private function receivedFromJavaScript(value:String):void {
            output.appendText("JavaScript says: " + value + "\n");
        }
        private function checkJavaScriptReady():Boolean {
            var isReady:Boolean = ExternalInterface.call("isReady");
            return isReady;
        }
        private function timerHandler(event:TimerEvent):void {
            output.appendText("Checking JavaScript status...\n");
            var isReady:Boolean = checkJavaScriptReady();
            if (isReady) {
                output.appendText("JavaScript is ready.\n");
                output.appendText("ExternalInterface.objectID = " + ExternalInterface.objectID + "\n");
                Timer(event.target).stop();
            }
        }
        private function clickHandler(event:MouseEvent):void {
            if (ExternalInterface.available) {
                ExternalInterface.call("sendToJavaScript", input.text);
            }
        }
    }
}


이전 ActionScript 코드를 테스트하려면 생성된 SWF 파일을 다음 HTML 템플릿을 사용하여 포함시킵니다.
 <!-- saved from url=(0014)about:internet -->
 <html lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>ExternalInterfaceExample</title>
 <script language="JavaScript">
     var jsReady = false;
     function isReady() {
         return jsReady;
     }
     function pageInit() {
         jsReady = true;
         document.forms["form1"].output.value += "\n" + "JavaScript is ready.\n";
     }
     function sendToActionScript(value) {
       document.getElementById("ExternalInterfaceExample").sendToActionScript(value);
     }
     function sendToJavaScript(value) {
         document.forms["form1"].output.value += "ActionScript says: " + value + "\n";
     }
 </script>
 </head>
 <body onload="pageInit();">
 
  <object id="ExternalInterfaceExample"  name="ExternalInterfaceExample" 
  type="application/x-shockwave-flash" data="ExternalInterfaceExample.swf" width="550" height="400">
    <param name="movie" value="ExternalInterfaceExample.swf"/>
    <param name="quality" value="high"/>
    <param name="allowscriptaccess" value="always"/>
    <a href="http://www.adobe.com/go/getflash">
        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player"/>
    </a>
  </object>
 
     <form name="form1" onsubmit="return false;">
         <input type="text" name="input" value="" />
         <input type="button" value="Send" onclick="sendToActionScript(this.form.input.value);" /><br />
         <textarea cols="60" rows="20" name="output" readonly="true">Initializing...</textarea>
     </form>
 
 </body>
 </html>
 




[ X ]영어로 표시되는 이유
ActionScript 3.0 참조 설명서의 내용이 영어로 나타납니다.

ActionScript 3.0 참조 설명서 중 일부는 전체 언어로 번역되지 않았습니다. 언어 요소가 번역되지 않은 경우 영어로 나타납니다. 예를 들어 ga.controls.HelpBox 클래스는 어떤 언어로도 번역되지 않았습니다. 그러므로 한국어 버전의 참조 설명서에서 ga.controls.HelpBox 클래스는 영어로 나타납니다.