class flash.display.LoaderInfo extends EventDispatcher
Available on all platforms
The LoaderInfo class provides information about a loaded SWF file or a
* loaded image file(JPEG, GIF, or PNG). LoaderInfo objects are available for
* any display object. The information provided includes load progress, the
* URLs of the loader and loaded content, the number of bytes total for the
* media, and the nominal height and width of the media.
* You can access LoaderInfo objects in two ways:
-
*
- The
contentLoaderInfo
property of a flash.display.Loader * object - ThecontentLoaderInfo
property is always available * for any Loader object. For a Loader object that has not called the *load()
orloadBytes()
method, or that has not * sufficiently loaded, attempting to access many of the properties of the *contentLoaderInfo
property throws an error.
* - The
loaderInfo
property of a display object.
*
The contentLoaderInfo
property of a Loader object provides
* information about the content that the Loader object is loading, whereas
* the loaderInfo
property of a DisplayObject provides
* information about the root SWF file for that display object.
When you use a Loader object to load a display object(such as a SWF
* file or a bitmap), the loaderInfo
property of the display
* object is the same as the contentLoaderInfo
property of the
* Loader object(DisplayObject.loaderInfo =
* Loader.contentLoaderInfo
). Because the instance of the main class of
* the SWF file has no Loader object, the loaderInfo
property is
* the only way to access the LoaderInfo for the instance of the main class of
* the SWF file.
The following diagram shows the different uses of the LoaderInfo
* object - for the instance of the main class of the SWF file, for the
* contentLoaderInfo
property of a Loader object, and for the
* loaderInfo
property of a loaded object:
When a loading operation is not complete, some properties of the
* contentLoaderInfo
property of a Loader object are not
* available. You can obtain some properties, such as
* bytesLoaded
, bytesTotal
, url
,
* loaderURL
, and applicationDomain
. When the
* loaderInfo
object dispatches the init
event, you
* can access all properties of the loaderInfo
object and the
* loaded image or SWF file.
Note: All properties of LoaderInfo objects are read-only.
*The EventDispatcher.dispatchEvent()
method is not
* applicable to LoaderInfo objects. If you call dispatchEvent()
* on a LoaderInfo object, an IllegalOperationError exception is thrown.
complete
event is always dispatched after
* the init
event. The init
event
* is dispatched when the object is ready to access, though
* the content may still be downloading.
* @event httpStatus Dispatched when a network request is made over HTTP and
* an HTTP status code can be detected.
* @event init Dispatched when the properties and methods of a loaded
* SWF file are accessible and ready for use. The content,
* however, can still be downloading. A LoaderInfo object
* dispatches the init
event when the following
* conditions exist:
* -
*
- All properties and methods associated with the * loaded object and those associated with the LoaderInfo * object are accessible. *
- The constructors for all child objects have * completed. *
- All ActionScript code in the first frame of the * loaded SWF's main timeline has been executed. *
For example, an Event.INIT
is dispatched
* when the first frame of a movie or animation is loaded.
* The movie is then accessible and can be added to the
* display list. The complete movie, however, can take
* longer to download. The Event.COMPLETE
is
* only dispatched once the full movie is loaded.
The init
event always precedes the
* complete
event.
unload()
* method of the Loader object, or when a second load is
* performed by the same Loader object and the original
* content is removed prior to the load beginning.Class Fields
static function getLoaderInfoByDefinition(object:Dynamic):LoaderInfo
Returns the LoaderInfo object associated with a SWF file defined as an * object. * *
object | The object for which you want to get an associated LoaderInfo object. |
returns | The associated LoaderInfo object. Returns |
Instance Fields
var actionScriptVersion:ActionScriptVersion
The ActionScript version of the loaded SWF file. The language version is
* specified by using the enumerations in the ActionScriptVersion class, such
* as ActionScriptVersion.ACTIONSCRIPT2
and
* ActionScriptVersion.ACTIONSCRIPT3
.
*
*
Note: This property always has a value of either
* ActionScriptVersion.ACTIONSCRIPT2
or
* ActionScriptVersion.ACTIONSCRIPT3
. ActionScript 1.0 and 2.0
* are both reported as ActionScriptVersion.ACTIONSCRIPT2
* (version 2.0). This property only distinguishes ActionScript 1.0 and 2.0
* from ActionScript 3.0.
var applicationDomain:ApplicationDomain
When an external SWF file is loaded, all ActionScript 3.0 definitions
* contained in the loaded class are stored in the
* All code in a SWF file is defined to exist in an application domain.
* The current application domain is where your main application runs. The
* system domain contains all application domains, including the current
* domain and all classes used by Flash Player or Adobe AIR.applicationDomain
property.
*
All application domains, except the system domain, have an associated
* parent domain. The parent domain of your main application's
* applicationDomain
is the system domain. Loaded classes are
* defined only when their parent doesn't already define them. You cannot
* override a loaded class definition with a newer definition.
For usage examples of application domains, see the "Client System * Environment" chapter in the ActionScript 3.0 Developer's Guide.
* *var bytesLoaded:UInt
The number of bytes that are loaded for the media. When this number equals
* the value of bytesTotal
, all of the bytes are loaded.
var bytesTotal:UInt
The number of compressed bytes in the entire media file. * *
Before the first progress
event is dispatched by this
* LoaderInfo object's corresponding Loader object, bytesTotal
* is 0. After the first progress
event from the Loader object,
* bytesTotal
reflects the actual number of bytes to be
* downloaded.
Expresses the trust relationship from content(child) to the Loader
* (parent). If the child has allowed the parent access, true
;
* otherwise, false
. This property is set to true
* if the child object has called the allowDomain()
method to
* grant permission to the parent domain or if a URL policy is loaded at the
* child domain that grants permission to the parent domain. If child and
* parent are in the same domain, this property is set to true
.
*
*
For more information related to security, see the Flash Player * Developer Center Topic: <a * href="http://www.adobe.com/go/devnetsecurityen" * scope="external">Security.
* *var contentType:String
The MIME type of the loaded file. The value is null
if not
* enough of the file has loaded in order to determine the type. The
* following list gives the possible values:
*
-
*
"application/x-shockwave-flash"
* "image/jpeg"
* "image/gif"
* "image/png"
*
The nominal frame rate, in frames per second, of the loaded SWF file. This * number is often an integer, but need not be. * *
This value may differ from the actual frame rate in use. Flash Player * or Adobe AIR only uses a single frame rate for all loaded SWF files at any * one time, and this frame rate is determined by the nominal frame rate of * the main SWF file. Also, the main frame rate may not be able to be * achieved, depending on hardware, sound synchronization, and other * factors.
* *The nominal height of the loaded file. This value might differ from the * actual height at which the content is displayed, since the loaded content * or its parent display objects might be scaled. * *
Indicates if the LoaderInfo.url
property has been truncated.
* When the isURLInaccessible
value is true
the
* LoaderInfo.url
value is only the domain of the final URL from
* which the content loaded. For example, the property is truncated if the
* content is loaded from http://www.adobe.com/assets/hello.swf
,
* and the LoaderInfo.url
property has the value
* http://www.adobe.com
. The isURLInaccessible
* value is true
only when all of the following are also true:
*
-
*
- An HTTP redirect occurred while loading the content. *
- The SWF file calling
Loader.load()
is from a different * domain than the content's final URL.
* - The SWF file calling
Loader.load()
does not have * permission to access the content. Permission is granted to access the * content the same way permission is granted for *BitmapData.draw()
: callSecurity.allowDomain()
* to access a SWF file(or for non-SWF file content, establish a policy file * and use theLoaderContext.checkPolicyFile
property).
*
Note: The isURLInaccessible
property was added for
* Flash Player 10.1 and AIR 2.0. However, this property is made available to
* SWF files of all versions when the Flash runtime supports it. So, using
* some authoring tools in "strict mode" causes a compilation error. To work
* around the error use the indirect syntax
* myLoaderInfo["isURLInaccessible"]
, or disable strict mode. If
* you are using Flash Professional CS5 or Flex SDK 4.1, you can use and
* compile this API for runtimes released before Flash Player 10.1 and AIR
* 2.
For application content in AIR, the value of this property is always
* false
.
The Loader object associated with this LoaderInfo object. If this
* LoaderInfo object is the loaderInfo
property of the instance
* of the main class of the SWF file, no Loader object is associated.
*
*
The URL of the SWF file that initiated the loading of the media described * by this LoaderInfo object. For the instance of the main class of the SWF * file, this URL is the same as the SWF file's own URL.
An object that contains name-value pairs that represent the parameters
* provided to the loaded SWF file.
* You can use a for-in
loop to extract all the names and
* values from the parameters
object.
The two sources of parameters are: the query string in the URL of the
* main SWF file, and the value of the FlashVars
HTML parameter
* (this affects only the main SWF file).
The parameters
property replaces the ActionScript 1.0 and
* 2.0 technique of providing SWF file parameters as properties of the main
* timeline.
The value of the parameters
property is null for Loader
* objects that contain SWF files that use ActionScript 1.0 or 2.0. It is
* only non-null for Loader objects that contain SWF files that use
* ActionScript 3.0.
Expresses the trust relationship from Loader(parent) to the content
* (child). If the parent has allowed the child access, true
;
* otherwise, false
. This property is set to true
* if the parent object called the allowDomain()
method to grant
* permission to the child domain or if a URL policy file is loaded at the
* parent domain granting permission to the child domain. If child and parent
* are in the same domain, this property is set to true
.
*
*
For more information related to security, see the Flash Player * Developer Center Topic: <a * href="http://www.adobe.com/go/devnetsecurityen" * scope="external">Security.
* *var sameDomain:Bool
Expresses the domain relationship between the loader and the content:
* true
if they have the same origin domain; false
* otherwise.
*
*
var sharedEvents:EventDispatcher
An EventDispatcher instance that can be used to exchange events across
* security boundaries. Even when the Loader object and the loaded content
* originate from security domains that do not trust one another, both can
* access sharedEvents
and send and receive events via this
* object.
var swfVersion:UInt
The file format version of the loaded SWF file. The file format is
* specified using the enumerations in the SWFVersion class, such as
* SWFVersion.FLASH7
and SWFVersion.FLASH9
.
*
*
var uncaughtErrorEvents:UncaughtErrorEvents
An object that dispatches an uncaughtError
event when an
* unhandled error occurs in code in this LoaderInfo object's SWF file. An
* uncaught error happens when an error is thrown outside of any
* try..catch
blocks or when an ErrorEvent object is dispatched
* with no registered listeners.
*
*
This property is created when the SWF associated with this LoaderInfo
* has finished loading. Until then the uncaughtErrorEvents
* property is null
. In an ActionScript-only project, you can
* access this property during or after the execution of the constructor
* function of the main class of the SWF file. For a Flex project, the
* uncaughtErrorEvents
property is available after the
* applicationComplete
event is dispatched.
The URL of the media being loaded.
* Before the first progress
event is dispatched by this
* LoaderInfo object's corresponding Loader object, the value of the
* url
property might reflect only the initial URL specified in
* the call to the load()
method of the Loader object. After the
* first progress
event, the url
property reflects
* the media's final URL, after any redirects and relative URLs are
* resolved.
In some cases, the value of the url
property is truncated;
* see the isURLInaccessible
property for details.