Requisitos y ventajas de la API externa

La API externa es la parte de ActionScript que proporciona un mecanismo de comunicación entre ActionScript y el código que se ejecuta en una "aplicación externa", que actúa a modo de contenedor de Flash Player (normalmente un navegador Web o una aplicación de proyector independiente). En ActionScript 3.0, la funcionalidad de la API externa viene dada por la clase ExternalInterface. En las versiones de Flash Player anteriores a Flash Player 8, se usaba la acción fscommand() para llevar a cabo la comunicación con la aplicación contenedora. La clase ExternalInterface sustituye a fscommand() y se recomienda su uso para todas las comunicaciones entre JavaScript y ActionScript.

NOTA

 

La antigua función fscommand() aún está disponible como función a nivel de paquete en el paquete flash.system para los casos en los que resulte necesario usarla (por ejemplo para mantener la compatibilidad con aplicaciones anteriores o para interactuar con una aplicación contenedora de SWF de un tercero o con la versión autónoma de Flash Player).

La clase ExternalInterface es un subsistema que permite comunicar fácilmente ActionScript y Flash Player con JavaScript en una página HTML o con cualquier aplicación de escritorio que incluya una instancia de Flash Player.

La clase ExternalInterface sólo está disponible en los siguientes casos:

En todas las demás situaciones (como al ejecutarse en un reproductor autónomo), la propiedad ExternalInterface.available devuelve el valor false.

Desde ActionScript se puede llamar a una función de JavaScript en la página HTML. La API externa ofrece las siguientes mejoras con respecto a fscommand():

ADVERTENCIA

 

Si el nombre asignado a la instancia de Flash Player en una página HTML (el atributo id de la etiqueta object) incluye un guión (-) u otros caracteres definidos como operadores en JavaScript (como +, *, /, \, ., etc.), las llamadas a ExternalInterface desde ActionScript no funcionarán cuando la página Web contenedora se visualice en Internet Explorer.

Además, si las etiquetas HTML que definen la instancia de Flash Player (las etiquetas object y embed) están anidadas en una etiqueta form HTML, las llamadas a ExternalInterface desde ActionScript no funcionarán.


Flash CS3

 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000339.html