ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: AIR 30.0 i wcześniejsze, Flash Player 30.0 i wcześniejsze, Flash Lite 4
Flex 4.6 i wcześniejsze, Flash Pro CS6 i wcześniejsze
Ukryj filtry
flash.external 

ExternalInterface  - AS3

Pakietyx

Najwyższy poziom
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

Elementy językowe

Stałe globalne
Funkcje globalne
Operatory
Instrukcje, słowa kluczowe i dyrektywy
Typy specjalne

Dodatki

Nowości
Błędy kompilatora
Ostrzeżenia kompilatora
Błędy czasu wykonywania
Migracja kodu ActionScript 3
Obsługiwane zestawy znaków
Tylko MXML
Elementy XML dotyczące ruchu
Znaczniki tekstu z synchronizacją czasową
Przestarzały indeks
Stałe implementacji dostępności
Instrukcje dotyczące przykładów
Informacje prawne
Pakietflash.external
Klasapublic final class ExternalInterface
DziedziczenieExternalInterface Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Klasa ExternalInterface jest interfejsem API, który umożliwia bezpośrednią komunikację między ActionScript a kontenerem SWF — na przykład: stroną HTML z aplikacją JavaScript lub inną aplikacją, która korzysta z programu Flash Player w celu wyświetlania pliku SWF.

Za pomocą klasy ExternalInterface można wywołać funkcję ActionScript w środowisku wykonawczym Flash z wykorzystaniem JavaScript na stronie HTML. Funkcja ActionScript może zwrócić wartość, a kod JavaScript odbierze ją niezwłocznie jako wartość zwróconą z wywołania.

Ta funkcjonalność zastępuje metodę fscommand().

Klasa ExternalInterface może być stosowana w następujących kombinacjach przeglądarek i systemów operacyjnych:

PrzeglądarkaSystem operacyjnySystem operacyjny
Internet Explorer 5.0 i późniejsze wersje Windows  
Netscape 8.0 i późniejsze wersje Windows MacOS
Mozilla 1.7.5 i późniejsze wersje Windows MacOS
Firefox 1.0 i późniejsze wersje Windows MacOS
Safari 1.3 i późniejsze wersje  MacOS

Program Flash Player for Linux w wersji 9.0.31.0 i późniejszych obsługuje klasę ExternalInterface w następujących przeglądarkach:

Przeglądarka
Mozilla 1.7.x i późniejsze wersje
Firefox 1.5.0.7 i późniejsze wersje
SeaMonkey 1.0.5 i późniejsze wersje

Klasa ExternalInterface wymaga obsługi elementów sterujących ActiveX® lub interfejsu API NPRuntime udostępnianego przez niektóre przeglądarki dla skryptów działających we wtyczkach. Nawet jeśli dana kombinacja przeglądarki i systemu operacyjnego nie jest wymieniona powyżej, klasa ExternalInterface powinna być obsługiwana, o ile przeglądarka obsługuje interfejs API NPRuntime. Zobacz http://www.mozilla.org/projects/plugins/npruntime.html.

Uwaga: W przypadku osadzania plików SWF na stronie HTML należy się upewnić, że dla atrybutu id ustawiona jest wartość, a atrybuty id i name znaczników object i embed nie zawierają następujących znaków:

 . - + * / \
 

Uwaga dla aplikacji w programie Flash Player: odtwarzacz Flash Player wersja 9.0.115.0 i zezwala na . (kropka) w atrybutach id i name.

Uwaga dla aplikacji w programie Flash Player W programie Flash Player 10 i nowszych wersjach działających w przeglądarce użycie tej klasy do programowego otwarcia okna podręcznego może zakończyć się niepowodzeniem. Różne przeglądarki (i konfiguracje przeglądarek) mogą blokować podręczne okna w każdej chwili; nie można zagwarantować, że podręczne okno zostanie wyświetlone. Jednak, aby zwiększyć szansę na powodzenie, należy użyć tej metody w celu otwarcia podręcznego okna tylko w kodzie, który wykonywany jako bezpośredni wynik działania użytkownika (np. w module obsługi zdarzenia dla zdarzenia kliknięcia myszą lub naciśnięcia klawisza).

Z poziomu kodu ActionScript można wykonać następujące operacje na stronie HTML:

  • Wywoływać dowolne funkcje JavaScript.
  • Przekazywać dowolną liczbę argumentów o dowolnych nazwach.
  • Przekazywać dane różnych typów (Boolean, Number, String itd.).
  • Odbierać wartości zwrotne z funkcji JavaScript.

Z poziomu kodu JavaScript na stronie HTML można:

  • Wywoływać funkcje ActionScript.
  • Przekazywać argumenty, korzystając ze standardowego zapisu wywołania funkcji.
  • Zwracać wartości do funkcji JavaScript.

Uwaga dla aplikacji programu Flash Player: Program Flash Player nie obsługuje aktualnie plików SWF osadzonych w formularzach HTML.

Uwaga dla aplikacji AIR: W środowisku Adobe AIR klasa ExternalInterface może być używana w celu nawiązania komunikacji między kodem JavaScript na stronie HTML załadowanej w elemencie sterującym HTMLLoader a kodem ActionScript w treści SWF osadzonej na stronie HTML.

Wyświetl przykłady

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
  available : Boolean
[statyczny] [tylko do odczytu] Wskazuje, czy ten odtwarzacz działa w kontenerze zapewniającym interfejs zewnętrzny.
ExternalInterface
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
  marshallExceptions : Boolean = false
[statyczny] Określa, czy interfejs zewnętrzny powinien podejmować próby przekazywania wyjątków ActionScript do bieżącej przeglądarki, a wyjątków JavaScript do odtwarzacza.
ExternalInterface
  objectID : String
[statyczny] [tylko do odczytu] Zwraca atrybut id znacznika object w przeglądarce Internet Explorer lub atrybut name znacznika embed w przeglądarce Netscape.
ExternalInterface
Metody publiczne
 MetodaZdefiniowane przez
  
addCallback(functionName:String, closure:Function):void
[statyczny] Rejestruje metodę ActionScript jako metodę, którą można wywoływać z kontenera.
ExternalInterface
  
call(functionName:String, ... arguments):*
[statyczny] Wywołuje funkcję uwidocznioną przez kontener SWF, przekazując zero lub więcej argumentów.
ExternalInterface
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
Szczegół właściwości

available

właściwość
available:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

wskazuje, czy ten odtwarzacz działa w kontenerze zapewniającym interfejs zewnętrzny. Jeśli interfejs zewnętrzny jest dostępny, ta właściwość ma wartość true; w przeciwnym razie ma wartość false.

Uwaga: Używając zewnętrznego interfejsu API ze stronami HTML, należy przed pierwszym wywołaniem metody JavaScript sprawdzić, czy zakończyło się ładowanie kodu HTML.



Implementacja
    public static function get available():Boolean

Przykład  ( Sposób korzystania z tego przykładu )
W poniższym przykładzie zastosowano właściwości available w celu określenia, czy odtwarzacz działa w kontenerze udostępniającym interfejs zewnętrzny.
     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

właściwość 
public static var marshallExceptions:Boolean = false

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Określa, czy interfejs zewnętrzny powinien podejmować próby przekazywania wyjątków ActionScript do bieżącej przeglądarki, a wyjątków JavaScript do odtwarzacza. Należy jawnie ustawić tę właściwość na true, aby przechwytywać wyjątki JavaScript w kodzie ActionScript i przechwytywać wyjątki ActionScript w kodzie JavaScript.

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład ilustruje tworzenie funkcji ActionScript i rejestrowanie jej w przeglądarce za pomocą metody addCallback(). Nowa funkcja generuje wyjątek, tak aby kod JavaScript działający w przeglądarce mógł go przechwycić. Przykład zawiera także instrukcję try..catch, która przechwytuje wyjątki generowane przez przeglądarkę po wywołaniu funkcji 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

właściwość 
objectID:String  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Zwraca atrybut id znacznika object w przeglądarce Internet Explorer lub atrybut name znacznika embed w przeglądarce Netscape.



Implementacja
    public static function get objectID():String
Szczegół metody

addCallback

()metoda
public static function addCallback(functionName:String, closure:Function):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Rejestruje metodę ActionScript jako metodę, którą można wywoływać z kontenera. Po pomyślnym wywołaniu funkcji addCallBack() zarejestrowana funkcja z odtwarzacza może zostać wywołana przez kod JavaScript lub ActiveX w kontenerze.

Uwaga: W przypadku treści lokalnej działającej w przeglądarce wywołania metody ExternalInterface.addCallback() działają pod warunkiem, że plik SWF i zawierająca go strona sieci Web znajdują się w lokalnie zaufanym obszarze izolowanym. Więcej informacji zawiera temat Bezpieczeństwo w Centrum programistów programu Flash Player.

Parametry

functionName:String — Nazwa, pod którą kontener może wywoływać funkcję.
 
closure:Function — Zamknięcie funkcji, którą należy wywołać. Może to być funkcja autonomiczna lub zamknięcie metody odwołujące się do metody w instancji obiektu. Przekazując zamknięcie metody można skierować wywołanie zwrotne do metody konkretnej instancji obiektu.

Uwaga: Powtórzenie metody addCallback() w istniejącej funkcji wywołania zwrotnego z wartością zamykającą null powoduje usunięcie wywołania zwrotnego.


Zgłasza
Error — Kontener nie obsługuje wywołań przychodzących. Wywołania przychodzące są obsługiwane tylko w programie Internet Explorer dla systemu Windows i przeglądarkach obsługujących interfejs API NPRuntime, takich jak Mozilla 1.7.5 i późniejsze wersje lub Firefox 1.0 i późniejsze wersje.
 
SecurityError — Funkcja wywołania zwrotnego o określonej nazwie została już dodana przez skrypt ActionScript w obszarze izolowanym, do którego bieżący kod nie ma dostępu; nie można nadpisać tamtej funkcji wywołania zwrotnego. Aby obejść ten problem, należy zmodyfikować kod ActionScript, który pierwotnie wywoływał metodę addCallback(), tak aby wywoływał także metodę Security.allowDomain().
 
SecurityError — Środowisko kontenera należy do obszaru izolowanego, do którego kod wywołujący nie ma dostępu. Aby rozwiązać ten problem, należy wykonać następujące kroki:
  1. W znaczniku object pliku SWF w stronie HTML będącej kontenerem ustaw następujący parametr:

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

  2. W pliku SWF dodaj następujący kod ActionScript:

    flash.system.Security.allowDomain(sourceDomain)

Powiązane elementy interfejsu API

call

()metoda 
public static function call(functionName:String, ... arguments):*

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9, Flash Lite 4

Wywołuje funkcję uwidocznioną przez kontener SWF, przekazując zero lub więcej argumentów. Jeśli funkcja jest niedostępna, wywołanie zwraca null; w przeciwnym razie zwraca wartośc przekazaną przez funkcję. Wywołania rekurencyjne nie są dozwolone w przeglądarkach Opera i Netscape; w tych przeglądarkach wywołanie rekurencyjne spowoduje zwrócenie odpowiedzi null. (Wywołania rekurencyjne są obsługiwane w przeglądarkach Internet Explorer i Firefox).

Jeśli kontenerem jest strona HTML, ta metoda wywołuje funkcję JavaScript w elemencie script.

Jeśli kontenerem jest inny kontener ActiveX, ta metoda wywołuje zdarzenie ActiveX FlashCall z określoną nazwą, a kontener przetwarza zdarzenie.

Jeśli kontener zawiera wtyczkę Netscape, można napisać niestandardowy kod obsługujący nowy interfejs NPRuntime lub osadzić element sterujący HTML, a w nim odtwarzacz. W przypadku osadzenia elementu sterującego HTML można komunikować się z odtwarzaczem przez interfejs JavaScript natywnej aplikacji-kontenera.

Uwaga: W przypadku treści lokalnej działającej w przeglądarce wywołania metody ExternalInterface.call() są dozwolone pod warunkiem, że plik SWF i zawierająca go strona sieci Web (jeśli istnieje) znajdują się w lokalnie zaufanym obszarze izolowanym. Istnieje także możliwość uniemożliwienia plikowi SWF korzystania z tej metody poprzez ustawienie parametru allowNetworking znaczników object oraz embed na stronie HTML zawierającej treść SWF. Więcej informacji zawiera temat Bezpieczeństwo w Centrum programistów programu Flash Player.

Uwaga dla aplikacji w programie Flash Player:W programie Flash Player 10 oraz Flash Player 9 Update 5 niektóre przeglądarki sieci Web ograniczają tę metodę, jeśli jest włączona funkcja blokowania podręcznych okien. W takim przypadku metodę można wywołać pomyślnie tylko w odpowiedzi na zdarzenie użytkownika (np. w module obsługi zdarzenia dla zdarzenia kliknięcia myszą lub naciśnięcia klawisza).

Parametry

functionName:String — Alfanumeryczna nazwa funkcji, którą należy wywołać w kontenerze. Użycie funkcji o nazwie zawierającej znaki inne niż alfanumeryczne powoduje zgłoszenie błędu w czasie wykonywania (błąd 2155). Do obsługi błędu można użyć bloku try..catch.
 
... arguments — Argumenty, które mają być przekazane do funkcji w kontenerze. Można określić zero lub więcej parametrów, oddzielając je przecinkami. Mogą należeć do dowolnego typu danych języka ActionScript. Gdy wywoływana jest funkcja języka JavaScript, typy języka ActionScript są automatycznie konwertowane na typy języka JavaScript; gdy wywoływany jest inny kontener ActiveX, parametry są kodowane w komunikacie żądania.

Zwraca
* — Odpowiedź odebrana z kontenera. Jeśli wywołanie nie powiedzie się — na przykład gdy w kontenerze nie ma takiej funkcji, interfejs jest niedostępny, wywołanie jest rekurencyjne (dotyczy przeglądarek Netscape i Opera) lub wystąpił problem z zabezpieczeniami — zwracana jest wartość null i generowany jest błąd.

Zgłasza
Error — Kontener nie obsługuje wywołań wychodzących. Wywołania wychodzące są obsługiwane tylko w programie Internet Explorer dla systemu Windows i przeglądarkach obsługujących interfejs API NPRuntime, takich jak Mozilla 1.7.5 i późniejsze wersje lub Firefox 1.0 i późniejsze wersje.
 
SecurityError — Środowisko kontenera należy do obszaru izolowanego, do którego kod wywołujący nie ma dostępu. Aby rozwiązać ten problem, należy wykonać następujące kroki:
  1. W znaczniku object pliku SWF w stronie HTML będącej kontenerem ustaw następujący parametr:

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

  2. W pliku SWF dodaj następujący kod ActionScript:

    flash.system.Security.allowDomain(sourceDomain)


Przykład  ( Sposób korzystania z tego przykładu )

Poniższy przykład przedstawia użycie klasy ExternalInterface (flash.external.ExternalInterface) w celu wysłania ciągu znaków z programu Flash Player do kontenera HTML, w którym zostanie on wyświetlony za pomocą funkcji alert() JavaScript. Przykład pochodzi z witryny 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

Poniższy przykład ilustruje przesyłanie danych między programem Flash Player a kontenerem 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);
            }
        }
    }
}


Aby przetestować poprzedni kod ActionScript, należy osadzić wygenerowany plik SWF, używając następującego szablonu 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 ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.